13.04.2007 10:27:16сертификаты Ответов: 4
Yuri
с помощью CertCreateCertificateContext получил Certificate Context.
Как експортировать его в файл .cer
 
Ответы:
13.04.2007 10:29:38Kirill Sobolev
Сохранить в файл CERT_CONTEXT::pbCertEncoded.
13.04.2007 10:38:43Yuri
я так и делал, но содержание полученного файла не совподает с содержанием файла , который я получаю используя мастер Internet explorer ->content->certificates-> export. Разве они не должны быть идентичными ?
13.04.2007 11:16:56Yuri
может в коде что то не то ?

HCERTSTORE hSystemStore;
PCCERT_CONTEXT pCertContext = NULL;
char pszNameString[256];
BYTE* pbElement;
DWORD cbElement;

if(hSystemStore = CertOpenSystemStore( 0, "CA"))
;
if(hFileStore = CertOpenStore(
CERT_STORE_PROV_FILENAME,
MY_ENCODING_TYPE,
NULL,
0, NULL))
;

if(pCertContext=CertEnumCertificatesInStore(
hSystemStore,
pCertContext))
;

FILE* pf3 =fopen("D:\\aaa3.cer","w");
size_t szt3 = fwrite(pCertContext->pbCertEncoded, 1, pCertContext->cbCertEncoded,pf3);
fclose(pf3);

CertCloseStore(hSystemStore,0);
13.04.2007 11:59:58Kirill Sobolev
1)Этим методом сохраняется сертификат в формате "DER-кодировка Х.509 (.CER)". Так же, Вы уверены что экспортируете в ИЕ тот же сертификат, что и сохраняете в файл?
2)Этот форум не называется "мгновенная консультация по вопросам CryptoAPI для программистов". Если Вам в течение 20 минут никто не ответил - имейте терпение, не создавайте новую тему. А еще лучше - почитайте MSDN, с большой вероятностью ответ на вопрос там есть.