Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CyptoAPI [D6, WinXP]


AleKo ©   (2006-09-07 04:53:00) 

Добрый день.
Помогите заполнить структуру. Есть пример на Си хочу реализовать на Delphi.
Это часть из примера создания физического хранилища сертификатов.

#define MY_ENCODING_TYPE  (PKCS_7_ASN_ENCODING | X509_ASN_ENCODING)

// Initialize PhysicalStoreInfo.

PhysicalStoreInfo.cbSize=sizeof(CERT_PHYSICAL_STORE_INFO);
PhysicalStoreInfo.pszOpenStoreProvider=(LPSTR)CERT_STORE_PROV_FILENAME;
PhysicalStoreInfo.dwFlags=CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG;

// Replace the path below with one that is appropriate for you.

PhysicalStoreInfo.OpenParameters.pbData =  (BYTE *) L"C:\\temp\\mystore";
PhysicalStoreInfo.OpenParameters.cbData =  wcslen((LPWSTR)PhysicalStoreInfo.OpenParameters.pbData) + 1) * sizeof(WCHAR);
PhysicalStoreInfo.dwPriority=1;
PhysicalStoreInfo.dwOpenEncodingType=MY_ENCODING_TYPE;

На Delphi делаю так:

// Заполняем структуру PhysicalStoreInfo.
PhysicalStoreInfo.cbSize := sizeof(CERT_PHYSICAL_STORE_INFO);
PhysicalStoreInfo.pszOpenStoreProvider := CERT_STORE_PROV_FILENAME;
PhysicalStoreInfo.dwFlags := CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG;

StoreName := 'D:\Cripto\MyStore';

PhysicalStoreInfo.OpenParameters.pbData := Pointer(StoreName);
PhysicalStoreInfo.OpenParameters.cbData := (Length(WideString(PhysicalStoreInfo.OpenParameters.pbData))+1)*SizeOf(WideChar);

PhysicalStoreInfo.dwPriority := 1;
PhysicalStoreInfo.dwOpenEncodingType := PKCS_7_ASN_ENCODING or X509_ASN_ENCODING;

Спасибо.


AleKo   (2006-09-07 05:00:00) [1]

Описание структуры.

typedef struct _CERT_PHYSICAL_STORE_INFO {
 DWORD cbSize;
 LPSTR pszOpenStoreProvider;
 DWORD dwOpenEncodingType;
 DWORD dwOpenFlags;
 CRYPT_DATA_BLOB OpenParameters;
 DWORD dwFlags;
 DWORD dwPriority;
} CERT_PHYSICAL_STORE_INFO,  *PCERT_PHYSICAL_STORE_INFO;


AleKo   (2006-09-07 04:55:00) [2]

Ссылка на этот пример:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/example_c_program_registering_physical_and_system_certificate_stores.asp


Наверх

Титульная страница Поиск, карта сайта Написать письмо