Главная страница
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.013 c
2-1223200633
AlexDan
2008-10-05 13:57
2008.11.16
RichEdit..


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


15-1221658793
Terasbetoni
2008-09-17 17:39
2008.11.16
3Д-движок, работающий с кривыми поверхностями.


15-1221765851
Sergio666
2008-09-18 23:24
2008.11.16
Delphi 2007 и символ подчеркивания


15-1221798199
@!!ex
2008-09-19 08:23
2008.11.16
Гугель наглеет.