Недавно при установке личного сертификата Континент-АП показал ошибку «Ошибка получения криптографического контекста». Сертификат и контейнер были исправны, поэтому я сначала проверил, какой криптопровайдер выбран в программе. Причина оказалась именно в этой настройке.
Что означает ошибка получения криптографического контекста
Континент-АП обращается к криптопровайдеру, чтобы открыть контейнер закрытого ключа. Если выбранный провайдер не соответствует контейнеру, программа не может получить криптографический контекст и прекращает установку сертификата.
Ошибка получения криптографического контекста
Почему появилась ошибка
На этом компьютере пользователь случайно сменил криптопровайдер по умолчанию на Код Безопасности CSP. Сам ключ был создан в КриптоПро CSP. Получилось, что Континент пытался открыть контейнер не тем средством.
Как я исправил ошибку
- Открыл свойства Континент-АП.
- Нашёл настройку выбора криптопровайдера.
- Вместо Код Безопасности CSP выбрал КриптоПро CSP.
- Сохранил настройки и закрыл Континент-АП.
- Запустил программу заново и повторил установку личного сертификата.
После смены провайдера сертификат установился без ошибки. Переустанавливать Windows, КриптоПро и Континент не потребовалось.
Заключение
Если контейнер действительно создан в КриптоПро, я первым делом сверяю провайдера в Континент-АП. Этот способ не подходит для ключей, выпущенных через Код Безопасности CSP: в таком случае менять провайдера наугад нельзя.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.