Рассмотрим частую и довольно неприятную ситуацию: в конфигурации 1С:Бухгалтерия предприятия 3.0 при сдаче регламентированной отчетности или подписании электронных документов внезапно перестает работать электронная подпись. Проанализируем исходные данные нашей проблемы: сбой произошел сразу после обновления платформы 1С на релиз 8.3.18. При этом использовался криптопровайдер КриптоПро CSP 4-й версии, а в процессе обновления базы дополнительно делалась выгрузка и загрузка данных (через dt-файл).
Многие пользователи в подобной ситуации задумываются об откате на предыдущие версии платформы (например, на 8.3.17), однако это не является правильным путем, так как новые релизы конфигураций со временем перестают поддерживать старые платформы. Давайте разберем по шагам все причины, из-за которых ломается подписание, и найдем оптимальные пути решения проблемы без необходимости покупки новых лицензий или отката системы.
На форумах часто предлагают кардинальное решение: просто удалить 4-ю версию и установить КриптоПро CSP 5.0. Действительно, это часто решает проблему, так как 5-я версия изначально лучше адаптирована под новые алгоритмы и стандарты. Однако, как верно подметили участники обсуждения, для установки КриптоПро 5 потребуется покупка новой лицензии, а на сервере может быть настроено множество сертификатов, работоспособность которых нельзя ставить под угрозу.
Посмотрим на альтернативный и бесплатный вариант. Проблема часто кроется не в самой 4-й версии, а в использовании устаревшей сборки внутри этой ветки. Платформа 1С 8.3.18 стала значительно строже относиться к криптографическим алгоритмам (особенно к ГОСТ-2012). Чтобы подпись заработала без покупки версии 5.0, выполним следующие действия:
При этом существующая лицензия от 4-й версии сохранится, а платформа 1С начнет корректно взаимодействовать с обновленными библиотеками программы.
Проанализируем ситуацию внутри самой базы 1С. При обновлении платформы до 8.3.18 часто происходит сбой в распознавании настроек алгоритмов шифрования и хеширования. Система может не выдавать явной ошибки, или скрывать ее под сообщением "Выбран неизвестный алгоритм подписи".
Для исправления этой проблемы разберем по шагам перенастройку профиля криптографии:
КриптоПро CSP и откроем ее.ГОСТ для хеширования и подписания.Выясним еще одну важную деталь: в нашем случае производилась выгрузка и загрузка информационной базы. Это критически важный момент! При такой манипуляции в 1С:Предприятие очень часто теряется системная привязка установленного сертификата к контейнеру закрытого ключа в реестре или на флеш-носителе.
Решим эту задачу на стороне операционной системы:
КриптоПро CSP в ОС Windows с правами администратора.После этого настоятельно рекомендуется очистить кэш вашей учетной записи электронного документооборота в 1С.
Обратим внимание на разрядность установленной платформы. Одной из самых частых причин поломки подписи при смене платформы на 18-й релиз является незапланированный переход с 32-битной архитектуры на 64-битную.
Если ранее вы использовали 32-битный клиент 1С (платформа 8.3.17), а версию 8.3.18 системный администратор установил в 64-битном варианте (x64), старые компоненты КриптоПро могут перестать корректно "видеть" 1С. В этом случае убедитесь, что компоненты криптопровайдера установлены для соответствующей архитектуры, либо попробуйте установить 32-битную версию платформы 1С 8.3.18, чтобы проверить работоспособность.
Наконец, проанализируем изменения в механизмах безопасности платформы 8.3.18. В новых релизах 1С стала жестче контролировать так называемый "контекст выполнения". Если при попытке подписания отчета программа внезапно зависает или выдает ошибку, возможно, криптопровайдер пытается вывести системное окно с запросом пароля (пин-кода) от контейнера ключа (например, от Рутокена), но платформа 1С блокирует это всплывающее окно.
Как мы можем это обойти:
Применяя описанные выше шаги комплексно, мы сможем восстановить работу электронной подписи на новой платформе без отката системы назад и без дополнительных финансовых затрат на обновление лицензий криптопровайдера.