Как исправить ошибку «Не установлена на компьютере. Выбран неизвестный алгоритм подписи "GOST 34.10-2012 256"» в 1С-ЭДО?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При плановом обновлении или продлении сертификата электронной подписи пользователи 1С-ЭДО часто сталкиваются с неприятной ситуацией: новый сертификат успешно установлен в операционной системе, однако при попытке отправить или подписать документ программа выдает критическую ошибку: «Не установлена на компьютере. Выбран неизвестный алгоритм подписи "GOST 34.10-2012 256"». При этом старый сертификат мог работать без каких-либо нареканий.

Эта проблема связана с тем, что при переходе на новые стандарты шифрования ГОСТ Р 34.10-2012 происходит рассинхронизация внутренних настроек криптографии в платформе 1С:Предприятие и установленного в операционной системе средства криптографической защиты информации (СКЗИ) — будь то ViPNet CSP или КриптоПро CSP. В этой статье мы подробно и по шагам разберем, как восстановить работоспособность электронного документооборота.

Способ 1. Изменение настройки криптопровайдера на «Авто» в регламентированных отчетах

Как показывает практика, наиболее частой причиной сбоя является жесткое указание конкретного криптопровайдера в скрытых настройках документооборота. Даже если на вашем компьютере используется ViPNet CSP, прямой выбор этого продукта в настройках обмена может приводить к ошибке распознавания алгоритмов. Нам необходимо перевести систему в автоматический режим определения СКЗИ.

Выполним следующие действия:

  1. Перейдем в раздел «Отчеты» и выберем пункт «Регламентированные отчеты» (в некоторых конфигурациях этот пункт называется «1С-Отчетность»).
  2. В открывшейся форме найдем и нажмем кнопку «Настройки», расположенную на верхней панели инструментов.
  3. В списке настроек перейдем по гиперссылке «Прочие настройки обмена».
  4. Найдем поле «Криптопровайдер». По умолчанию там может быть жестко прописано «ViPNet CSP» или «КриптоПро CSP».
  5. Изменим это значение, выбрав вариант «Авто».
  6. Нажмем кнопку «Записать и закрыть» для сохранения изменений.

Выбор режима Авто заставляет платформу 1С не искать конкретную программу по текстовому имени, а обращаться напрямую к интерфейсу CryptoAPI операционной системы Windows. Это позволяет корректно инициализировать библиотеки шифрования ГОСТ 2012.

Способ 2. Альтернативный выбор алгоритма «GR 34.10-2012 256»

Если вы используете КриптоПро CSP и первый способ не принес результата, проблема может заключаться в некорректном сопоставлении наименований алгоритмов. Платформа 1С может ожидать одну кодировку имени алгоритма, в то время как СКЗИ отдает другую.

Разберем, как принудительно переназначить рабочий алгоритм подписи:

  1. Откроем форму «Настройки электронной подписи и шифрования» (ее можно найти через функции технического специалиста или в разделе «Администрирование» -> «Общие настройки» -> «Электронная подпись и шифрование»).
  2. Перейдем на вкладку «Сертификаты» и откроем карточку нашего проблемного сертификата ГОСТ-2012.
  3. В поле выбора алгоритма подписи найдем единственный доступный альтернативный вариант: «GR 34.10-2012 256».
  4. Выберем его, запишем изменения и перезапустим сеанс работы с базой 1С.

Способ 3. Переинициализация и обновление карточки криптопровайдера в 1С

Бывают случаи, когда в информационной базе сохраняются устаревшие параметры регистрации программного модуля шифрования. В этом случае нам нужно заставить 1С полностью перезаписать пути к библиотекам и имена алгоритмов в своем внутреннем реестре.

Проанализируем этот процесс подробнее:

  1. Зайдем в «Настройки электронной подписи и шифрования» на вкладку «Программы».
  2. Выделим используемый криптопровайдер (например, ViPNet CSP) и нажмем кнопку удаления (или пометим его на удаление).
  3. Нажмем кнопку «Добавить» и выберем программу заново из предопределенного списка, который предлагает сама платформа 1С.
  4. При этом все сопутствующие поля — имя модуля, тип провайдера, алгоритмы подписи, хеширования и шифрования — заполнятся автоматически актуальными системными значениями.
  5. Нажмем кнопку «Записать и закрыть». После этого обязательно запустим встроенный мастер проверки настройки подписи на вкладке «Сертификаты», нажав кнопку «Проверить».

Способ 4. Восстановление и обновление СКЗИ на уровне операционной системы

Если платформа 1С по-прежнему сообщает о неизвестном алгоритме, проблема может лежать глубже — в повреждении системных библиотек самого криптопровайдера. Это часто происходит при обновлении операционной системы Windows или при установке других программ безопасности. Для локализации неисправности и проверки работы криптографии в обход механизмов ЭДО можно использовать инструмент для подписания произвольных файлов средствами платформы 1С.

Для исправления ситуации выполним следующие шаги:

Способ 5. Устранение конфликта между КриптоПро CSP и ViPNet CSP

Одновременное присутствие на одном рабочем месте двух разных криптопровайдеров — классическая причина сбоев в работе электронного документооборота. Программы начинают конфликтовать за перехват системных вызовов CryptoAPI, из-за чего 1С теряет доступ к алгоритмам шифрования. Для проверки внутренних параметров проблемных сертификатов и точного определения используемых в них алгоритмов можно использовать универсальный декодер структуры файлов сертификатов.

Рассмотрим порядок решения этого конфликта:

  1. Определим, под контролем какого СКЗИ выпущен ваш новый сертификат. Как правило, удостоверяющие центры указывают это в памятке к ключу.
  2. Полностью удалим ненужный (неиспользуемый) криптопровайдер через «Установку и удаление программ».
  3. Если удаляется КриптоПро CSP, крайне рекомендуется запустить специализированную утилиту очистки реестра cspclean (ее можно скачать на официальном форуме КриптоПро) для удаления «хвостов» программы, которые могут мешать работе оставшегося ViPNet CSP.
  4. Перезагрузим компьютер и проверим работоспособность ЭДО.

Способ 6. Настройка работы в клиент-серверном режиме

Если ваша база данных 1С работает в клиент-серверном варианте, и подписание документов настроено «на сервере», то возникновение ошибки «Неизвестный алгоритм подписи» означает, что СКЗИ физически отсутствует на серверной машине.

Выясним, как решить эту проблему:

Необходимо установить используемый криптопровайдер (с вводом коммерческой лицензии) непосредственно на тот сервер, где запущена служба 1С:Предприятие (процессы rphost.exe). Серверная операционная система должна иметь точно такие же настройки СКЗИ, как и клиентский компьютер. Также убедитесь, что у пользователя ОС, под которым запущена служба сервера 1С (обычно это локальный пользователь USR1CV8), есть права на чтение контейнеров закрытых ключей и веток реестра криптопровайдера.

← На главную