Тот, кто подписывает документ, и тот, кто его проверяет, — в одной системе
Модуль объединяет четыре способа подписания: квалифицированную электронную подпись со смарт-картой или 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. Подписанный результат скачивается отдельным документом рядом с подписанным файлом; исходный файл не изменяется.
Процесс квалифицированной электронной подписи
Каждый из шести шагов отображается на экране собственным состоянием; пользователь видит, какого шага ждут и где всё остановилось.
- Проверка службыСначала проверяется сетевое соединение, затем — локальная служба подписания на компьютере. Если служба закрыта, на экране показываются и ссылка на запуск, и кнопка повтора.
- Поиск устройстваПеречисляются подключённые считыватели смарт-карт и USB-токены. Если устройства нет, появляется предупреждение о необходимости вставить карту; если устройств несколько, между ними можно переключаться.
- Чтение сертификатаСчитывается сертификат выбранного устройства; на экране появляются владелец сертификата, идентификационный номер, удостоверяющий центр, срок действия и модель устройства.
- Проверка PIN-кодаPIN-код состоит только из цифр, содержит не более восьми знаков и не может быть вставлен в поле из буфера. Пока включён Caps Lock, показывается предупреждение; введённое значение можно по желанию сделать видимым.
- ПодписаниеИндикатор выполнения показывает три этапа: проверка PIN-кода, подписание, готово. Запрос на подписание удерживается не дольше тридцати секунд и возвращается ошибкой, если результат не пришёл.
- Результат и записьФормируется подписанный документ, а событие подписания записывается в журнал. После первой подписи предлагается сохранить PIN-код в привязке к этому устройству; от предложения можно отказаться.
Процесс мобильной подписи
Мобильная подпись работает асинхронно: запрос отправляется, подтверждение даётся на телефоне, а система ждёт результат, опрашивая состояние.
- Проверка подключения услугиПроверяется, подключена ли услуга мобильной подписи для введённого номера. Если нет, процесс останавливается до начала, и причина выводится на экран.
- Запрос на подписаниеЗапрос отправляется вместе с текстом описания, который появится на телефоне; пользователь на своём экране видит, какой документ он подтверждает.
- Идентификатор операцииПри асинхронном принятии запроса возвращается идентификатор операции, и экран переходит в состояние ожидания подтверждения на телефоне.
- Опрос состоянияРезультат запрашивается каждые три секунды и ожидается не дольше девяноста секунд. По истечении времени операция закрывается по тайм-ауту, и её нужно начинать заново.
- РезультатТри результата обрабатываются по отдельности: подписано, отменено пользователем, истекло время ожидания. При подписании PDF подпись встраивается в документ и создаётся подписанная копия.
Ситуации, встречающиеся на практике
Модуль построен на допущении, что подписание редко удаётся с первого раза; восемь ситуаций разобраны по отдельности.
Сохранение PIN-кода
С согласия пользователя PIN-код сохраняется в привязке к серийному номеру устройства. При следующем подписании поле уже не пустое; сохранённый PIN-код можно удалить в одно действие.
Неверный PIN-код
При вводе неверного PIN-кода предупреждение показывается вместе с числом оставшихся попыток; на последней попытке предупреждение усиливается.
Заблокированная карта
При блокировке PIN-кода экран переходит в предупреждающее состояние, кнопка повтора отключается, и объясняется, как разблокировать карту.
Предупреждение о Caps Lock
Пока включён Caps Lock, рядом с полем PIN-кода появляются значок предупреждения и короткое пояснение; ошибочный ввод предотвращается до того, как сгорит попытка.
Карта извлечена
Подключённые устройства опрашиваются каждые пять секунд. Если карту извлекли во время операции, экран возвращается к поиску устройства и сообщает о потере соединения.
Блокировка второй вкладки
Если подписание начинает вторая вкладка того же браузера, другая вкладка блокируется; одно устройство не может обслуживать два запроса одновременно.
Истекающий сертификат
Предупреждение выводится, когда до окончания срока действия сертификата остаётся меньше тридцати дней, и критическое предупреждение — когда меньше семи дней или срок уже истёк; с просроченным сертификатом подписание не открывается.
Временный сбой устройства
При временных сбоях — например, при обрыве сеанса с картой — операция повторяется дважды, не показывая ошибку пользователю. Если ошибка сохраняется, она записывается вместе с кодом.
Журнал подписей и проверка
Кто, что и когда подписал, можно узнать и после того, как подписанный документ скачан.
- Запись в журналеКаждое событие подписания записывается с подписавшим пользователем, организацией, типом документа, названием документа, видом подписи, временем подписания, IP-адресом и сведениями о браузере.
- Хеш файлаЗаписывается хеш SHA-256 документа; при запросе по тому же хешу находится запись о подписи, к которой относится документ.
- Код проверкиДля каждой записи формируется шестнадцатизначный код проверки из четырёх блоков; в коде не используются легко путаемые буквы и цифры.
- Проверка по QR-кодуНа выгружаемом документе печатается QR-код с адресом проверки; при сканировании кода запрашивается действительность записи.
- Список журналаЗаписи о подписях фильтруются по типу документа, виду подписи и пользователю; поиск ведётся по названию документа и коду проверки.
Вход по электронной подписи
Та же инфраструктура используется и для подписания документов, и для входа в систему.
Вход по сертификату
Идентификационный номер или адрес эл. почты, извлечённые из сертификата подписи, сверяются с записью пользователя; при отсутствии совпадения сеанс не открывается.
Вход по мобильной подписи
Запрос на вход приходит на телефон, и при подтверждении открывается сеанс; если запрос не подписан или отменён, во входе отказано.
Файл cookie сеанса
По завершении проверки токен сеанса выдаётся в файле cookie, доступном только серверу, и действует ограниченное время.
Частые вопросы
Пять вопросов, которые задают чаще всего: о видах подписи, настройке и проверке.
Какие виды подписи поддерживаются?
Нужно ли что-то устанавливать на компьютер для квалифицированной подписи?
Заменяет ли изображение собственноручной подписи квалифицированную подпись?
Как проверить подлинность подписанного документа?
Что происходит, если пользователь не подтверждает мобильную подпись?
Посмотрите процесс подписания на своём документе
Свяжитесь с нами, чтобы обсудить, какие документы будут подписываться и как будет устроена проверка.
Поговорить со специалистом