| ||||
| ||||
Здравствуйте.Пытаюсь сделать как описано здесь: http://www.cryptopro.ru/CryptoPro/forum/myforum.asp?q=60 Но вызов /* Установим свойства в контексте сертификата*/ ret = CertSetCertificateContextProperty(pUserCert, CERT_KEY_PROV_INFO_PROP_ID, CERT_STORE_NO_CRYPT_RELEASE_FLAG, pCryptKeyProvInfo); возвращает FALSE (LastError = E_ACCESSDENIED), хотя контекст сертификата найден успешно и структура CRYPT_KEY_PROV_INFO тоже получена и dwFlags установлен в CERT_SET_KEY_CONTEXT_PROP_ID. Что посоветуете, куда смотреть? Единственная странность, что pCryptKeyProvInfo->dwProvType == 71, (хотя PROV_GOST_DH==2), в то время как pCryptKeyProvInfo->pwszProvName==CP_DEF_PROV Спасибо. Алексей | ||||
Ответы: | ||||
| ||||
В версии 1.2 имена и типы провайдеров следующие (могете посмотреть в реестре Local_machine\Software\Microsoft\Cryptography\Defaults\Provider: Crypto-Pro Cryptographic Service Provider - 2 Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider - 75 Crypto-Pro GOST R 34.10-94 Cryptographic Service Provider - 71 Если ключ сделан с типом 71, то и инициализировать нужно по этому имени. | ||||