Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
2-1223388590
ВитаминС
2008-10-07 18:09
2008.11.16
Вопрос про THotKey


6-1195152089
Crystalis
2007-11-15 21:41
2008.11.16
как узнать SourcePort TIdUDPClientа ?


6-1195035982
sdaf
2007-11-14 13:26
2008.11.16
чат для локальной сети


6-1195471990
Steep
2007-11-19 14:33
2008.11.16
количество переданной информации


2-1223031850
workbench
2008-10-03 15:04
2008.11.16
выделение текста




   Наверх