18.08.2006 11:09:13Имя криптопровайдера для CSP 2.0 всегда ...ГОСТ... 94..., почему? Ответов: 3
Антон Сотенко
При получении имени криптопровайдера с помощью функций CryptAcquireCertificatePrivateKey(Cert...) и CryptGetProvParam(..., PP_NAME,...) для сертификата с ключами по ГОСТ 2001 и подписью тоже по ГОСТ 2001 - CSP 2.0 _всегда_ возвращает строку "Crypto-Pro GOST R 34.10-94 Cryptographic Service Provider".

Для CSP 3.0 всегда получается строка с ГОСТ 2001.

Сертификаты выданы на КриптоПро УЦ версий 1.03.0427 и 1.04.0620.

Хранилище сертификатов - реестр.
 
Ответы:
20.08.2006 20:29:09maxdm
А какой провайдер возвращает CertGetCertificateContextProperty(CERT_KEY_PROV_INFO_PROP_ID)?
21.08.2006 10:30:11Антон Сотенко
Тоже самое:
CSP 2.0 = ГОСТ 94
CSP 3.0 = ГОСТ 2001
не зависимо от алгоритма контейнера!
21.08.2006 12:38:53Василий
При установке сертификата в хранилище с привязкой к секретному ключу в ссылке на секретный ключ прописывается тот CSP, что был выбран при выполнении этой операции. Если ставили через панель КриптоПро CSP, то для 2.0 по умолчанию для выбора контейнера (Обзором) стоял CSP 94-го ГОСТа.
Для работы с ключом всё равно, каким из наших CSP (..94 или ..2001) был открыт контекст - правильный алгоритм определяется по ключу.