Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.16;
Скачать: CL | DM;

Вниз

Access violation prin вызове ф-ции CryptoAPI   Найти похожие ветки 

 
Михаил Макушев   (2008-01-11 08:52) [0]

вопрос по CryptoAPI через провайдера КриптоПро.

   hSystemStore := CertOpenSystemStore(0, "MY");
var
 hProv: HCRYPTPROV;
 hSystemStore: HCERTSTORE;
 myCert, test: PWideChar;
 SERT_NAME: LPCTSTR;
 pCert: PCCERT_CONTEXT;
 msgPara: CRYPT_ENCRYPT_MESSAGE_PARA;
 count, encType: DWORD;
begin
   encType := PKCS_7_ASN_ENCODING or X509_ASN_ENCODING;
     myCert := "Makushev";
     pCert := CertFindCertificateInStore(hSystemStore,
       encType,
       0,
       CERT_FIND_SUBJECT_STR,
       myCert,
       nil);

   ZeroMemory(@msgPara, SizeOf(msgPara));
   with msgPara do
       begin
           cbSize := SizeOf(msgPara);
           dwMsgEncodingType := encType;
           ContentEncryptionAlgorithm.pszObjId := CertAlgIdToOID(CALG_RC4);
           hCryptProv := hProv;
       end;

       test := "Test";
       ret := CryptEncryptMessage(@msgPara, 1, pCert, PByte(test), length(test), nil, @count);


Если честно то не понимаю почему когда доходит до CryptEncryptMessage и пытается его выполнить вылезает "Access Violation"?  Где я наступаю на грабли?


 
Сергей М. ©   (2008-01-11 09:00) [1]

Приведи прототип ф-ции CryptEncryptMessage ..


 
Reindeer Moss Eater ©   (2008-01-11 10:33) [2]

Третий параметр - указатель на массив указателей.


 
Reindeer Moss Eater ©   (2008-01-11 10:44) [3]

На джедаях лежат порты хедеров криптоапи на паскаль от Massimo Maria Ghisalberti, но там есть ошибки.
Вот как там описан третий параметр:
rgpRecipientCert      : array of PCCERT_CONTEXT;
то есть через делфийский открытый массив, а это естественно неправильно


 
slow!alfamoon!com   (2008-01-11 11:40) [4]

+1 Хэдеры кривые. Частично я их правил и дополнял но только касаемо низкоуровневых функций


 
Reindeer Moss Eater ©   (2008-01-11 12:23) [5]

У автора вопроса проблема скорее всего не в прототипе.

ret := CryptEncryptMessage(@msgPara, 1, @pCert, PByte(test), .....



Страницы: 1 вся ветка

Текущий архив: 2008.11.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1221794968
ganda
2008-09-19 07:29
2008.11.16
BlackfishSQL что за база и с чем её едят!?


2-1223377181
Евгений Р.
2008-10-07 14:59
2008.11.16
как правильно сравнить процедуры


11-1195726026
Vinum
2007-11-22 13:07
2008.11.16
Вопрос по Canvas


15-1221660686
Пробежал...
2008-09-17 18:11
2008.11.16
Какие все таки отличия между D2007 Prof и Enterprise?


2-1223490086
AlexDan
2008-10-08 22:21
2008.11.16
Системный реестр..