06.05.2004 14:04:06Извлечение ключа из сертификата Ответов: 1
Дмитрий
Необходимо извлечь открытый ключ и другие параметры из сертификата двумя способами:
1. из файла сертификата
2. из сертификата в хранилище

Пробую извлечь из хранилища при помощи CryptoAPI, структура PCRYPT_BIT_BLOB возвращает какие-то обрывки, а из файла вообще не получается.
Подскажите, пожалуйста.
Заранее благодарен.
 
Ответы:
06.05.2004 18:42:40kure
Не важно откуда читается сертификат, в результате нужно получить структуру CERT_INFO из которой все получите.

Посмотрите примеры на сайте. Там есть много примеров, такого типа:

/* Функция чтения сертификата из файла*/
PCCERT_CONTEXT read_cert_from_file (const char *fname)
{
BYTE *cert = NULL;
size_t len = 0;
PCCERT_CONTEXT ret = NULL;

if (!get_file_data_pointer (fname, &len, &cert))
return NULL;

ret = MyCertCreateCertificateContext (X509_ASN_ENCODING
| PKCS_7_ASN_ENCODING, cert, (DWORD)len);
if (!ret) {
DebugErrorFL("CertCreateCertificateContext");
}
release_file_data_pointer (cert);
return ret;
}

И многое другое.