0
У меня есть файл pkcs # 7 с включенным сертификатом подписчиков, сертификатом CA, CRL. Теперь, чтобы проверить подпись из этого файла, я получаю от него сертификат. Я пытаюсь сделать:Как получить сертификат из файла pkcs7
HANDLE hFile;
if(!(hFile = CreateFile(L"c:\\users\\timur\\desktop\\sign_pkcs7.sig",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL)))
{
printf("Error opening file %d\n", GetLastError());
}
HCERTSTORE hPkcsStore = 0;
if(!(hPkcsStore = CertOpenStore(
CERT_STORE_PROV_PKCS7,
MY_TYPE,
NULL,
CERT_STORE_OPEN_EXISTING_FLAG,
hFile)))
{
printf("Cert not found in pkcs7 store error %d.\n",GetLastError());
}
Но при вызове программы CertOpenStore терпит неудачу с доступа чтения нарушения местонахождения 0x0000001c.
Спасибо! Я попробую. Теперь я использую такие функции, как CryptMsgUpdate, CryptMsgGetParam и т. Д. – forik