03.02.2005 8:27:19Импортирование открытого ключа из сертификата Ответов: 5
Дмитрий
Доброго времени суток!
rsdn.ru не откликается пока, может, кто-нибудь сможет подсказать, каким образом можно из сертификата в системном хранилище MY импортировать открытый ключ Crypto Pro 2.0 в блоб? CryptDecodeObjectEx’у нужна кодировка ASN.1? ругается на bad tag... может, неправильно использую ? в MSDN либо не так подробно написано, либо я плохо смотрел:) подскажите, пожалуйста:)
заранее благодарен
 
Ответы:
03.02.2005 9:18:13Юрий
В случае использования алгоритмов ГОСТ, применяемых в CSP от КриптоПРО для импорта/экспорта применяется методика обмена ключами по алгоритму Диффи-Хеллмана.
Советую посмотреть где-нибудь в Интеренете, а то исходный такого импорта/экспора текст впринципе достоточно длинный.
03.02.2005 9:21:38Юрий
А если просто открытый ключ:
if(!CryptImportPublicKeyInfoEx(hOwnProv,Certificate.m_pCertContext->dwCertEncodingType,&Certificate.m_pCertContext->pCertInfo->SubjectPublicKeyInfo,Certificate.aiPublicKeyAlgId,0,NULL,&hPublicKey))
return false;

и далее CryptExportKey в PUBLICKEYBLOB.
03.02.2005 9:45:02Юрий
А если просто открытый ключ:
if(!CryptImportPublicKeyInfoEx(hOwnProv,Certificate.m_pCertContext->dwCertEncodingType,&Certificate.m_pCertContext->pCertInfo->SubjectPublicKeyInfo,Certificate.aiPublicKeyAlgId,0,NULL,&hPublicKey))
return false;

и далее CryptExportKey в PUBLICKEYBLOB.
03.02.2005 10:15:57Дмитрий
благодарю, буду изучать
03.02.2005 10:16:35Дмитрий
в смысле, именно алгоритмы ГОСТ использую