Подробный гайд по устранению ошибки 0x80090008 «Указан неправильный алгоритм» в Континент-АП
1. Что означает ошибка 0x80090008
Код ошибки 0x80090008 соответствует системной ошибке Windows NTE_INVALID_ALGORITHM / CRYPT_E_INVALID_ALGID.
В контексте «Континент-АП» это означает, что приложение запросило криптографическую операцию с алгоритмом, который:
- не зарегистрирован в установленном криптопровайдере;
- не поддерживается текущей версией криптопровайдера или самой программы;
- указан некорректно в настройках сертификата / политики шифрования;
- конфликтует с другими криптопровайдерами в системе.
Чаще всего ошибка проявляется при:
- подписании или проверке ЭП;
- установке/проверке сертификатов;
- шифровании/расшифровании файлов;
- работе с ключевыми носителями и токенами;
- взаимодействии с государственными системами (ФНС, ЕИС, ГИС и др.).
2. Типовые причины
| Категория | Примеры |
|---|---|
| Криптопровайдер | Устаревшая версия КриптоПро CSP / VipNet CSP; отсутствие поддержки ГОСТ Р 34.10-2012; повреждённая установка |
| Алгоритмы | В сертификате указан алгоритм, который не поддерживается провайдером; конфликт между ГОСТ-2001 и ГОСТ-2012 |
| Сертификаты | Неправильно импортированный сертификат; отсутствие привязки к закрытому ключу; сертификат от другого провайдера |
| Конфликты ПО | Одновременно установлены несколько криптопровайдеров (КриптоПро + VipNet + Signal-COM и т.п.) |
| Системные компоненты | Отсутствие обновлений Windows, повреждённые библиотеки crypt32.dll, advapi32.dll |
| Права и политики | Недостаточно прав для доступа к ключам; групповые политики блокируют алгоритм |
| Настройки Континент-АП | В конфигурации указан неверный идентификатор алгоритма (OID) или провайдер |
3. Диагностика
3.1. Определите точный момент ошибки
Зафиксируйте, когда появляется ошибка:
- при запуске программы;
- при выборе сертификата;
- при подписании документа;
- при проверке подписи;
- при установке сертификата.
Это сузит круг поиска.
3.2. Проверьте версию и состояние криптопровайдера
Если используется КриптоПро CSP:
- Откройте «КриптоПро CSP» (Панель управления или
C:\Program Files\Crypto Pro\CSP\cpconfig.exe). - Вкладка «Общие» — убедитесь, что версия актуальна (для ГОСТ-2012 нужна версия не ниже 4.0, рекомендуется 5.0/5.1).
- Вкладка «Алгоритмы» — проверьте наличие необходимых алгоритмов:
ГОСТ Р 34.10-2001ГОСТ Р 34.10-2012(256/512)ГОСТ 28147-89ГОСТ Р 34.11-94,ГОСТ Р 34.11-2012
- Вкладка «Оборудование» — проверьте, видны ли ключевые носители (рутокен, етокен, флешка, реестр).
Если используется VipNet CSP — проверьте аналогично через его панель управления.
3.3. Проверьте сертификаты
- Откройте
certmgr.msc(Сертификаты текущего пользователя). - Найдите сертификат, который использует Континент-АП.
- Убедитесь:
- сертификат не просрочен;
- есть значок ключа (привязка к закрытому ключу);
- в свойствах сертификата в поле «Алгоритм подписи» указан поддерживаемый ГОСТ;
- сертификат установлен в правильное хранилище («Личное»).
- Попробуйте пересоздать привязку: в КриптоПро на вкладке «Сервис» → «Просмотреть сертификаты в контейнере» → выбрать контейнер → «Установить».
3.4. Проверьте конфликты криптопровайдеров
Одновременная установка нескольких CSP часто приводит к конфликтам.
- В КриптоПро CSP: вкладка «Общие» → кнопка «Настройки провайдера» или через реестр:
HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider
- Посмотрите список зарегистрированных провайдеров.
- Если есть сторонние/ненужные провайдеры, рекомендуется удалить их или использовать только один основной.
3.5. Посмотрите системный журнал
Win + R→eventvwr.msc.- Журналы приложений → ищите ошибки с источником CryptoAPI, CryptSvc, Application Error в момент воспроизведения ошибки.
- Запишите дополнительные параметры (имя модуля, код ошибки).
4. Пошаговые решения
Решение 1: Обновите криптопровайдер
- Скачайте актуальную версию КриптоПро CSP (или VipNet CSP) с официального сайта.
- Удалите старую версию через «Программы и компоненты».
- Перезагрузите компьютер.
- Установите новую версию.
- Повторно установите сертификаты и ключи.
- Проверьте работу Континент-АП.
Перед удалением обязательно сделайте резервную копию ключевых контейнеров (папки с ключами, реестр, токены).
Решение 2: Перерегистрируйте сертификаты
- Откройте КриптоПро CSP → вкладка «Сервис».
- Нажмите «Просмотреть сертификаты в контейнере».
- Выберите нужный контейнер с ключом.
- Нажмите «Установить» и следуйте инструкциям.
- Если сертификат уже есть, удалите его из
certmgr.mscи установите заново.
Решение 3: Проверьте и исправьте OID алгоритма в настройках Континент-АП
Иногда в конфигурации Континент-АП указан неверный OID алгоритма.
- Откройте настройки Континент-АП.
- Найдите раздел криптографии / ЭП / шифрования.
- Проверьте, какой алгоритм выбран для подписи/проверки.
- Убедитесь, что выбран поддерживаемый алгоритм:
- ГОСТ Р 34.10-2001 (OID
1.2.643.2.2.19) - ГОСТ Р 34.10-2012 256 (OID
1.2.643.7.1.1.1.1) - ГОСТ Р 34.10-2012 512 (OID
1.2.643.7.1.1.1.2)
- ГОСТ Р 34.10-2001 (OID
- Если сомневаетесь — переключите на ГОСТ-2001 (если система контрагента ещё поддерживает его) или на ГОСТ-2012 256.
Решение 4: Удалите конфликтующие криптопровайдеры
Если в системе установлено несколько CSP:
- Оставьте один основной (например, КриптоПро CSP).
- Удалите остальные через «Программы и компоненты».
- После удаления проверьте реестр:
HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider
Удалите разделы, относящиеся к удалённым провайдерам (предварительно сделайте экспорт ветки).
4. Перезагрузите ПК.
Решение 5: Переустановите компоненты Континент-АП
- Выполните резервное копирование настроек и ключей.
- Удалите Континент-АП.
- Очистите временные файлы (
%TEMP%,C:\Users\<user>\AppData\Local\Temp). - При наличии — удалите остатки из реестра (разделы, связанные с Континент-АП) только при наличии опыта.
- Установите последнюю версию с официального сайта/дистрибутива.
- Импортируйте настройки и ключи.
Решение 6: Проверьте права доступа к ключам
- Найдите папку с ключевым контейнером (для КриптоПро обычно
C:\Users\<user>\AppData\Local\Crypto Pro\KeysилиC:\Documents and Settings\<user>\Application Data\Crypto Pro\Keys). - Убедитесь, что у текущего пользователя есть права Чтение и выполнение, Чтение на папку и файлы.
- Если ключи в реестре:
HKCU\Software\Microsoft\Cryptography\...— проверьте доступ черезregedit(ПКМ → Разрешения).
Решение 7: Установите обновления Windows и корневые сертификаты
- Выполните все доступные обновления через «Центр обновления Windows».
- Обновите корневые сертификаты:
- Скачайте актуальный пакет корневых сертификатов с сайта Минцифры или используйте обновление через
certlm.msc→ «Корневые сертификаты».
- Скачайте актуальный пакет корневых сертификатов с сайта Минцифры или используйте обновление через
- Обновите списки отзыва (CRL), если ошибка связана с проверкой цепочки сертификатов.
Решение 8: Временное решение — смена алгоритма в документе/запросе
Если ошибка возникает при взаимодействии с конкретной системой (например, ФНС, ЕИС):
- Уточните у оператора системы, какой алгоритм ЭП требуется.
- Если система принимает только ГОСТ-2001, а у вас сертификат ГОСТ-2012 — потребуется получить совместимый сертификат.
- Если система требует ГОСТ-2012, а у вас ГОСТ-2001 — аналогично.
5. Проверка работоспособности после исправления
- Перезагрузите компьютер.
- Откройте КриптоПро CSP → вкладка «Сервис» → «Проверить контейнер» — убедитесь, что ключ читается.
- Установите сертификат заново.
- Запустите Континент-АП.
- Выполните тестовое действие (подписание тестового файла, проверка подписи).
- Убедитесь, что ошибка 0x80090008 больше не появляется.
6. Профилактика
- Используйте один криптопровайдер в системе для работы с ЭП.
- Регулярно обновляйте КриптоПро CSP / VipNet CSP и Континент-АП до актуальных версий.
- Делайте резервные копии ключевых контейнеров и сертификатов перед обновлениями.
- Проверяйте совместимость сертификатов с целевыми системами (ГОСТ-2001 / ГОСТ-2012).
- Не устанавливайте сторонние криптографические плагины без необходимости.
- Ведите журнал изменений: фиксируйте обновления и изменения конфигурации — это ускоряет диагностику.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.