| ||||
| ||||
При получении имени криптопровайдера с помощью функций 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. Хранилище сертификатов - реестр. | ||||
Ответы: | ||||
| ||||
А какой провайдер возвращает CertGetCertificateContextProperty(CERT_KEY_PROV_INFO_PROP_ID)? | ||||
| ||||
Тоже самое: CSP 2.0 = ГОСТ 94 CSP 3.0 = ГОСТ 2001 не зависимо от алгоритма контейнера! | ||||
| ||||
При установке сертификата в хранилище с привязкой к секретному ключу в ссылке на секретный ключ прописывается тот CSP, что был выбран при выполнении этой операции. Если ставили через панель КриптоПро CSP, то для 2.0 по умолчанию для выбора контейнера (Обзором) стоял CSP 94-го ГОСТа. Для работы с ключом всё равно, каким из наших CSP (..94 или ..2001) был открыт контекст - правильный алгоритм определяется по ключу. | ||||