| ||||
| ||||
Подскажите пожалуйста, как можно извлечь открытый ключ из строки, полученной функцией Cenroll.CreatePKCS10(...). Спасибо заранее. | ||||
Ответы: | ||||
| ||||
Последовательность действий при использовании CryptoAPI : 0. Т.к. createPKCS10 выдает запрос в base64, то преобразовываете его в binary 1. Делаете CryptDecodeObject c параметром X509_CERT, получаете структуру CERT_SIGNED_CONTENT 2. С этой структурой опять делаете CryptDecodeObject c параметром X509_CERT_REQUEST_TO_BE_SIGNED, получаете структуру CERT_REQUEST_INFO 3. CERT_REQUEST_INFO::SubjectPublicKeyInfo и есть открытый ключ | ||||
| ||||
А пример есть ? | ||||
| ||||
Есть частично (без перекодировки из Base64) в файле reqcert.c (проверка подписи запроса и сертификата) http://www.cryptopro.ru/CryptoPro/test/sample2_0.zip | ||||
| ||||
Спасибо за ответы! Но проблема так и осталась не решеной. Как из CRYPT_BIT_BLOB вытащить Public Key? Очень надо перед отправкой запроса знать Public Key. Помогите, очень прошу :_) | ||||
| ||||
Еще раз CryptDecodeObject с параметром X509_OCTET_STRING | ||||