Форум: "WinAPI";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c