Главная страница
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.012 c
2-1222891466
Александр325
2008-10-02 00:04
2008.11.16
Ошибка при определении процедуры


2-1223273482
GlobalVariable
2008-10-06 10:11
2008.11.16
Где хранить настройки программы?


2-1223225518
koha!
2008-10-05 20:51
2008.11.16
TListView - и снова вопросы....


15-1221386389
@!!ex
2008-09-14 13:59
2008.11.16
Почувствуй разницу...


2-1223026415
Развёртка
2008-10-03 13:33
2008.11.16
Развернуть досовское окноий экран программы на весь экран