23.07.2004 10:22:42Не могу получить указатель на криптопровайдера. Ответов: 1
Евген
Задача состоит в том, чтобы получить массив указателей на требуемые сертификаты, а потом зашифровать сообщение. Задача упрощена - заранее известно, что сертификаты все выданы под один криптопровайдер.
А проблема - 1. в том, что не удается вытянуть указатель или хотя бы название криптопровайдера из сертификата. Функция CertGetCertificateContextProperty с флагом CERT_KEY_PROV_HANDLE_PROP_ID вообще отказывается работать. Но для некоторых сертификатов все же удается вытянуть название из структуры CRYPT_KEY_PROV_INFO (если, конечно, сертификат не для криптопровайдера Base), но с помощью CryptAcquireContext все равно не удается получить указатель на CSP. Помогите мне, плиз. Может кто уже сталкивался с такими задачами и проблемами. Подскажите решение или хотя бы альтернативные пути.
 
Ответы:
23.07.2004 12:31:30kure
А в сертификате нет и не может быть ни названия криптопровайдера ни имени ключа. Это содержится в дополнительном атрибуте (структуре) которая создается программно при установке личного сертификата (т.е. сертификата на который у вас есть закрытый ключ).