🔏 Интеграция электронной подписи

Тот, кто подписывает документ, и тот, кто его проверяет, — в одной системе

Модуль объединяет четыре способа подписания: квалифицированную электронную подпись со смарт-картой или USB-токеном, мобильную подпись через линию GSM, собственноручную подпись, нарисованную на экране, и изображение собственноручной подписи, загруженное из файла. Каждый подписанный документ записывается в журнал, и его можно найти по коду проверки.

  • Ключ подписи не попадает в браузерКвалифицированная подпись создаётся локальной службой подписания на собственном компьютере пользователя. PIN-код карты и закрытый ключ никогда не покидают устройство; на сервер уходит только подписанный результат.
  • Запись о подписи привязана к документуКаждое событие подписания записывается в журнал вместе с подписавшим, названием документа, типом документа, видом подписи, временем подписания, хешем SHA-256 файла и шестнадцатизначным кодом проверки.

Запросить демонстрацию

Поддерживаемые виды подписи

Четыре способа ниже реализованы в модуле отдельными вкладками. Вида подписи, которого нет в этом перечне, в модуле не существует.

Квалифицированная электронная подпись

Подписание смарт-картой или USB-токеном. Локальная служба подписания находит устройство, считывает сертификат, проверяет PIN-код и формирует подписанный документ; алгоритм хеширования — SHA-256.

Мобильная подпись

Подписание через инфраструктуру мобильной подписи, привязанную к линии GSM. Проверяется подключение услуги для номера, на телефон приходит запрос на подписание, а система опрашивает операцию в ожидании подтверждения.

Нарисованная собственноручная подпись

Подпись, нарисованная на холсте мышью, пером или на сенсорном экране. Можно выбрать цвет пера, стереть и нарисовать заново; результат сохраняется в формате PNG как подпись пользователя по умолчанию.

Загруженная собственноручная подпись

Загрузка готового изображения подписи из файла. Принимаются PNG и JPEG размером не более 5 МБ; изображение на сервере приводится к границам 600×200 и преобразуется в PNG.

Форматы подписи

Формат выбирается по типу подписываемого файла; модуль определяет нужный по расширению.

Формат Для какого документа Как выбирается
PAdES-BESДокументы PDFВыбирается автоматически при расширении .pdf; экспортируемые отчёты подписываются в этом формате.
XAdES-BESДокументы XMLВыбирается автоматически при расширении .xml.
CAdES-BESПрочие типы файловФормат по умолчанию для всех файлов, кроме PDF и XML.

Во всех трёх форматах алгоритм хеширования — SHA-256. Подписанный результат скачивается отдельным документом рядом с подписанным файлом; исходный файл не изменяется.

Процесс квалифицированной электронной подписи

Каждый из шести шагов отображается на экране собственным состоянием; пользователь видит, какого шага ждут и где всё остановилось.

  1. Проверка службыСначала проверяется сетевое соединение, затем — локальная служба подписания на компьютере. Если служба закрыта, на экране показываются и ссылка на запуск, и кнопка повтора.
  2. Поиск устройстваПеречисляются подключённые считыватели смарт-карт и USB-токены. Если устройства нет, появляется предупреждение о необходимости вставить карту; если устройств несколько, между ними можно переключаться.
  3. Чтение сертификатаСчитывается сертификат выбранного устройства; на экране появляются владелец сертификата, идентификационный номер, удостоверяющий центр, срок действия и модель устройства.
  4. Проверка PIN-кодаPIN-код состоит только из цифр, содержит не более восьми знаков и не может быть вставлен в поле из буфера. Пока включён Caps Lock, показывается предупреждение; введённое значение можно по желанию сделать видимым.
  5. ПодписаниеИндикатор выполнения показывает три этапа: проверка PIN-кода, подписание, готово. Запрос на подписание удерживается не дольше тридцати секунд и возвращается ошибкой, если результат не пришёл.
  6. Результат и записьФормируется подписанный документ, а событие подписания записывается в журнал. После первой подписи предлагается сохранить PIN-код в привязке к этому устройству; от предложения можно отказаться.

Процесс мобильной подписи

Мобильная подпись работает асинхронно: запрос отправляется, подтверждение даётся на телефоне, а система ждёт результат, опрашивая состояние.

  1. Проверка подключения услугиПроверяется, подключена ли услуга мобильной подписи для введённого номера. Если нет, процесс останавливается до начала, и причина выводится на экран.
  2. Запрос на подписаниеЗапрос отправляется вместе с текстом описания, который появится на телефоне; пользователь на своём экране видит, какой документ он подтверждает.
  3. Идентификатор операцииПри асинхронном принятии запроса возвращается идентификатор операции, и экран переходит в состояние ожидания подтверждения на телефоне.
  4. Опрос состоянияРезультат запрашивается каждые три секунды и ожидается не дольше девяноста секунд. По истечении времени операция закрывается по тайм-ауту, и её нужно начинать заново.
  5. РезультатТри результата обрабатываются по отдельности: подписано, отменено пользователем, истекло время ожидания. При подписании PDF подпись встраивается в документ и создаётся подписанная копия.

Ситуации, встречающиеся на практике

Модуль построен на допущении, что подписание редко удаётся с первого раза; восемь ситуаций разобраны по отдельности.

Сохранение PIN-кода

С согласия пользователя PIN-код сохраняется в привязке к серийному номеру устройства. При следующем подписании поле уже не пустое; сохранённый PIN-код можно удалить в одно действие.

Неверный PIN-код

При вводе неверного PIN-кода предупреждение показывается вместе с числом оставшихся попыток; на последней попытке предупреждение усиливается.

Заблокированная карта

При блокировке PIN-кода экран переходит в предупреждающее состояние, кнопка повтора отключается, и объясняется, как разблокировать карту.

Предупреждение о Caps Lock

Пока включён Caps Lock, рядом с полем PIN-кода появляются значок предупреждения и короткое пояснение; ошибочный ввод предотвращается до того, как сгорит попытка.

Карта извлечена

Подключённые устройства опрашиваются каждые пять секунд. Если карту извлекли во время операции, экран возвращается к поиску устройства и сообщает о потере соединения.

Блокировка второй вкладки

Если подписание начинает вторая вкладка того же браузера, другая вкладка блокируется; одно устройство не может обслуживать два запроса одновременно.

Истекающий сертификат

Предупреждение выводится, когда до окончания срока действия сертификата остаётся меньше тридцати дней, и критическое предупреждение — когда меньше семи дней или срок уже истёк; с просроченным сертификатом подписание не открывается.

Временный сбой устройства

При временных сбоях — например, при обрыве сеанса с картой — операция повторяется дважды, не показывая ошибку пользователю. Если ошибка сохраняется, она записывается вместе с кодом.

Журнал подписей и проверка

Кто, что и когда подписал, можно узнать и после того, как подписанный документ скачан.

  • Запись в журналеКаждое событие подписания записывается с подписавшим пользователем, организацией, типом документа, названием документа, видом подписи, временем подписания, IP-адресом и сведениями о браузере.
  • Хеш файлаЗаписывается хеш SHA-256 документа; при запросе по тому же хешу находится запись о подписи, к которой относится документ.
  • Код проверкиДля каждой записи формируется шестнадцатизначный код проверки из четырёх блоков; в коде не используются легко путаемые буквы и цифры.
  • Проверка по QR-кодуНа выгружаемом документе печатается QR-код с адресом проверки; при сканировании кода запрашивается действительность записи.
  • Список журналаЗаписи о подписях фильтруются по типу документа, виду подписи и пользователю; поиск ведётся по названию документа и коду проверки.

Вход по электронной подписи

Та же инфраструктура используется и для подписания документов, и для входа в систему.

Вход по сертификату

Идентификационный номер или адрес эл. почты, извлечённые из сертификата подписи, сверяются с записью пользователя; при отсутствии совпадения сеанс не открывается.

Вход по мобильной подписи

Запрос на вход приходит на телефон, и при подтверждении открывается сеанс; если запрос не подписан или отменён, во входе отказано.

Файл cookie сеанса

По завершении проверки токен сеанса выдаётся в файле cookie, доступном только серверу, и действует ограниченное время.

Частые вопросы

Пять вопросов, которые задают чаще всего: о видах подписи, настройке и проверке.

Какие виды подписи поддерживаются?
Четыре: квалифицированная электронная подпись со смарт-картой или USB-токеном, мобильная подпись через линию GSM, изображение собственноручной подписи, нарисованное на экране, и изображение собственноручной подписи, загруженное из файла. Иных видов подписи в модуле нет.
Нужно ли что-то устанавливать на компьютер для квалифицированной подписи?
Да. На компьютере пользователя должна работать локальная служба подписания, которая общается со считывателем карт. Модуль опрашивает службу при запуске; если она закрыта, на экране появляются ссылка на запуск и кнопка повтора.
Заменяет ли изображение собственноручной подписи квалифицированную подпись?
Нет. Нарисованное или загруженное изображение — это запись, наносимая на документ как визуальная подпись. Криптографическая подпись создаётся только квалифицированной электронной подписью и мобильной подписью; вид подписи хранится в журнале отдельно, поэтому эти два случая никогда не смешиваются.
Как проверить подлинность подписанного документа?
Есть два способа: код проверки на документе или хеш SHA-256 файла. И то и другое ищется в журнале; при нахождении записи возвращаются название документа, его тип, вид подписи, время подписания и подписавший.
Что происходит, если пользователь не подтверждает мобильную подпись?
Операция завершается одним из трёх состояний: отменена пользователем, истекло время ожидания, инфраструктура вернула ошибку. Если подтверждение не приходит в течение девяноста секунд, срок запроса истекает и его нужно начинать заново.
🔏 Интеграция электронной подписи

Посмотрите процесс подписания на своём документе

Свяжитесь с нами, чтобы обсудить, какие документы будут подписываться и как будет устроена проверка.

Поговорить со специалистом