Closed AndrewIva closed 5 years ago
Здравствуйте. На машине установлен только один криптопровайдер?
Добрый день. Проверил сервер. Да действительно стоит 2 криптопровайдера. Крипто-про CSP и VipNet CSP. Можно ли при такой конфигурации работать или нужно удалить один из провайдеров. Спасибо.
В текущей версии по умолчанию осуществляется автоматическое определение предустановленного криптопровайдера, ViPNet в приоритете. Можно установить желаемый тип криптопровайдера, который будет использоваться по умолчанию, явно:
GostCryptoConfig.ProviderType = <VipNet или CryptoPro>;
GostCryptoConfig.ProviderType_2012_512 = <VipNet_2012_512 или CryptoPro_2012_512>;
GostCryptoConfig.ProviderType_2012_1024 = <VipNet_2012_1024 или CryptoPro_2012_1024>;
В вашем случае можно сделать так где-нибудь при инициализации приложения:
GostCryptoConfig.ProviderType = GostCryptoConfig.CryptoPro;
GostCryptoConfig.ProviderType_2012_512 = GostCryptoConfig.CryptoPro_2012_512;
GostCryptoConfig.ProviderType_2012_1024 = GostCryptoConfig.CryptoPro_2012_1024;
Если есть необходимость одновременно работать с двумя криптопровайдерами, то желаемый нужно будет передать явно в конструкторы. Если работаете всегда с одним криптопровайдером (предустановленным на машине и неважно каким, либо явно сконфигурированным, как указано выше), то передача типа криптопровайдера в конструкторы нигде не требуется.
Спасибо, решение работает ошибка ушла.
Добрый день. Пишу такой код
Получаю ошибку System.Security.Cryptography.CryptographicException: "Плохой ключ." Сертификат беру отсюда https://lk.fss.ru/FSS_PROD_CERT_2019_34.10-2012.cer
Использую алгоритм ГОСТ 34.10.2012 Крипртопровайдер крипто про CSP 4.0.9963
Подскажите, что я делаю неправильно. Спасибо за помощь.