Привет, друзья!
Сегодня поговорим о том, как мы можем подписывать документы в системе Pilot посредством усиленной электронной подписи.
Прежде чем перейдем к самому подписанию, давайте разберемся, что такое усиленная электронная подпись.
Усиленная электронная подпись — это электронная подпись (ЭП), которая:
Создается с применением криптографических алгоритмов с использованием ключа электронной подписи.
Позволяет достоверно установить лицо, подписавшее электронный документ.
Обеспечивает возможность обнаружения любого изменения информации в электронном документе после момента его подписания.
Усиленная электронная подпись может быть двух видов: усиленная неквалифицированная электронная подпись (УНЭП) и усиленная квалифицированная электронная подпись (УКЭП).
Различия УНЭП и УКЭП
Критерий |
УНЭП |
УКЭП |
Приравнивается к собственноручной подписи |
Стороны предварительно договорились об этом, либо при наличии нормативно-правового акта, обязующего или разрешающего использование УНЭП в подписании документов |
Да |
Кто выдает? |
Любой удостоверяющий центр (УЦ) |
Аккредитованный удостоверяющий центр |
Алгоритмы шифрования |
RSA, ECDSA (ГОСТ - опционально) |
ГОСТ Р 34.10-2012 |
Где хранится ключ? |
Любой носитель |
Только сертифицированные токены |
В Pilot мы можем совмещать оба этих варианта подписания.
Для подписания документов нам потребуется:
Через Web-редакцию: криптопровайдер, совместимый с форматом ЭП Cades (КриптоПро CSP), плагин КриптоПро ЭЦП Browser plug-in - плагин для браузера и cryptoprovider.crypto-pro (SDK) - интеграция с криптопровайдером;
Через клиентское приложение: криптопровайдер, совместимый с форматом ЭП Cades (КриптоПро CSP) и CryptoProvider.CryptoAPI - интеграция с криптопровайдером, установленным в Windows.
Подписание документа в Pilot
Исходные данные:
Документ в формате pdf
-
Один из следующих сертификатов:
Квалифицированный сертификат с закрытым ключом, выпущенный аккредитованным УЦ
Сертификат с закрытым ключом, выпущенный корпоративным внутренним УЦ
Криптопровайдер (КриптоПро CSP, КриптоПро ЭЦП Browser)
Установленные модули в Pilot (cryptoprovider.crypto-pro, CryptoProvider.CryptoAPI)
Алгоритм действий:
1. Публикуем документ в системе Pilot.
2. В чем причина такой ошибки? Дело в том, что тип подписи Сергея – PKCS7, а тип подписи Станислава – CAdES-BES. Плагин КриптоПро ЭЦП Browser работает только с подписями типа CAdES, это стоит учитывать в своих процедурах согласования.

Также еще может возникнуть ситуация, когда подпись действительна, но сертификат не доверенный.
Возможные причины:
не установлен корневой (промежуточный) сертификат в доверенные корневые (промежуточные) центры сертификации на рабочей машине, с которой просматривается документ;
-
нет возможности проверить статус отзыва CRL/OCSP.
3. Документ подписан, при необходимости мы можем его выгрузить локально на компьютер. У нас загрузится сам файл и открепленные подписи.
4. Выполняем проверку через "Инструменты КриптоПро" и получаем успешную проверку подписей.

Примечание: Успешные проверки подписей, выполняются в том случае, если есть возможность отследить цепочку сертификатов для доверенного корневого центра. Это означает, что на сервисах по проверке ЭП при отсутствии корневых (промежуточных) сертификатов УЦ, которыми были подписаны сертификаты пользователей, подпись будет определяться как не действительная. В основном это касается УНЭП.
Усовершенствование ЭП в Pilot
В Pilot, начиная с версии 25.7, появилась возможность автоматизировать процесс усовершенствования открепленной ЭП с использованием дополнительного компонента Pilot-Sign-Server.
Усовершенствование электронной подписи, в контексте юридической значимости электронных документов, означает добавление к ней дополнительных технических атрибутов - метки времени (TSP) и/или информации о статусе сертификата (OCSP).
Метка времени (TSP) - фиксирует дату и время подписания документа с привязкой к эталонному источнику времени, обеспечивая долговременную юридическую силу электронной подписи (ЭП). Без такой метки ЭП действительна только до даты окончания срока действия сертификата подписанта. При наличии метки доверенного времени подпись продолжает действовать и после окончания срока действия сертификата, доказывая, что подпись была создана в момент, когда сертификат еще не истек.
Серверный компонент Pilot-Sign-Server устанавливается в docker-контейнере, на момент написания статьи, с официального репозитория на Docker Hub - pilotdev/pilot-sign-server. В ближайшее время репозиторий переедет по адресу registry.ascon.ru. Стандартно работает на порту 9097.
После развертывания контейнера при переходе по его адресу в браузере открывается дашборд. В нем отображаются статусы заданий по усовершенствованию ЭП.

Также в "Общих настройках"Pilot необходимо указать издателей сертификатов (CN), для которых будут происходить усовершенствования ЭП.

Примечание: Усовершенствование происходит только для подписи, которая соответствует формату CAdES.
Давайте создадим новый документ и заново его подпишем. В текущем примере первый согласующий Станислав подписывает УКЭП и второй согласующий Андрей подписывает УНЭП, но с форматом подписи CAdES. После подписания у нас должен запуститься процесс усовершенствования подписи, и после него получаем подпись формата CAdES-T с проставленной доверенной меткой времени.

Примечание: Хотя использование усовершенствованной электронной подписи в первую очередь регламентируется для квалифицированной ЭП согласно статье 11 63-ФЗ, данный формат также может применяться и для неквалифицированной электронной подписи при условии её соответствия стандарту CAdES.
Сертификатом штампа времени выступает сертификат от издателя "Федеральная налоговая служба", корневым сертификатом которого является "Минцифры России".

Почему так получилось? Pilot-Sign-Server запрашивает метку времени для подписей у специальных удостоверяющих центров, имеющих сервера точного времени (TSA-сервера). Адреса TSA-серверов указаны в конфигурационном файле appsettings.json Docker-контейнера Pilot-Sign-Server – это пул серверов, из которых будет использован первый доступный. При необходимости мы можем добавить новые адреса или исключить неиспользуемые.

Ключевые преимущества сервиса Pilot-Sign-Server:
Работа с пулом серверов для усовершенствования подписей;
Резервирование списка задач усовершенствования ЭП для после аварийного восстановления;
Отсутствие необходимости приобретения дополнительных лицензий на сервисы временных меток
Заключение
Pilot поддерживает работу как с усиленной неквалифицированной ЭП, так и с усиленной квалифицированной ЭП. Выбор типа подписи определяется конкретными бизнес-сценариями и юридическими требованиями к дальнейшему использованию подписанных документов.