Как проверить подпись ЭЦП под документом: пошагово
Вам прислали договор, подписанный ЭЦП, и файл с расширением .p7s. Открыть PDF можно в любой программе, но сам PDF ничего не говорит о подписи: на экране нет разницы между подписанным документом и неподписанным. Чтобы понять, чего стоит такая подпись, её нужно проверить. Разберём, что именно проверяется, в каком порядке и где чаще всего ошибаются.
Что такое подпись под документом технически
Когда человек подписывает файл ключом ЭЦП НУЦ РК через NCALayer, программа считает от документа хэш — короткий «отпечаток» содержимого — и шифрует его закрытым ключом. Результат вместе с сертификатом подписанта упаковывается в контейнер CMS, чаще всего это и есть файл .p7s.
Из этого следуют две вещи:
- подпись привязана к конкретному файлу, байт в байт. Если в PDF поменяли хотя бы запятую или пересохранили его в другой программе, подпись к нему уже не подойдёт;
- проверять нужно пару: исходный файл и файл подписи. Одна только картинка штампа или скан с отметкой «подписано ЭЦП» подписью не является.
Что должно сойтись при проверке
Полноценная проверка — это не одна галочка, а несколько независимых вопросов. Если хотя бы на один ответ «нет», полагаться на подпись нельзя.
- Подпись математически сходится с сертификатом. Значит, её поставил владелец именно этого ключа.
- Документ не менялся после подписания. Хэш присланного файла совпадает с тем, что зашит в подпись.
- Ключ предназначен для подписания. У НУЦ РК есть ключи для входа на порталы (файл с приставкой AUTH) и ключи для подписи. Документ, подписанный ключом аутентификации, — частая ошибка, и такую подпись принимать не стоит.
- Сертификат выдан НУЦ РК. Цепочка сертификатов должна доходить до корневого сертификата удостоверяющего центра, а не до чего-то самодельного.
- Сертификат действовал в момент подписания. Ключи НУЦ выпускаются на ограниченный срок. Подпись, поставленная просроченным ключом, недействительна.
- Сертификат не отозван. Владелец мог отозвать ключ — например, при потере флешки или смене руководителя. Статус отзыва проверяется запросом к службе НУЦ (OCSP) на момент проверки.
- Подписал тот, кто должен. В сертификате записаны ФИО, ИИН, а для ключей организаций — ещё БИН и название. Сверьте их с реквизитами контрагента из договора.
Дополнительно в подписи может быть метка времени — подтверждение от службы времени, что подпись существовала в определённый момент. Если метка есть, её тоже стоит проверить: она должна относиться именно к этой подписи.
Пошаговая проверка
1. Соберите файлы
Вам нужен оригинальный файл документа (обычно PDF) и файл подписи .p7s. Если контрагент прислал документ в мессенджере, убедитесь, что это исходный файл, а не пересохранённая копия или скриншот. Если подписей несколько — например, ваша и контрагента, — каждая проверяется отдельно.
2. Загрузите их в сервис проверки
Проверку можно сделать на странице system-x.asia/verify. Она открыта для всех, регистрация не нужна, и работает для документов, подписанных в любой системе, а не только в System X. Загружаете файл документа и файл подписи, нажимаете «Проверить подпись». Файлы обрабатываются в памяти и не сохраняются.
3. Прочитайте результат по пунктам
Смотрите не только на общий вердикт, но и на список «Что проверено»: подпись сходится с сертификатом, документ не изменялся, ключ подписной, сертификат выдан НУЦ РК, действовал в момент подписания, не отозван. Ниже будут данные подписанта: ФИО, организация, ИИН, БИН, серийный номер сертификата и кем он выдан.
4. Сверьте подписанта с договором
Сервис подтверждает, что подпись настоящая, но не знает, кто должен был подписать. Это ваша часть работы: БИН в сертификате должен совпадать с БИН контрагента в реквизитах, а для ТОО полезно убедиться, что подписал человек с правом подписи — обычно руководитель или сотрудник по доверенности.
Типичные ошибки и что они означают
- «Подпись не относится к этому документу». Чаще всего файл пересохранили, конвертировали или прислали другую версию. Попросите исходный файл, который подписывали.
- Подписано ключом AUTH. Контрагент выбрал в NCALayer не тот файл. Попросите подписать заново ключом без приставки AUTH.
- Сертификат истёк к моменту подписания. Подписанту нужно перевыпустить ключ на портале НУЦ РК и подписать документ снова.
- Сертификат отозван. Подпись таким сертификатом недействительна. Выясните у контрагента, что случилось с ключом, и получите новую подпись.
- Служба НУЦ не ответила. Это не значит, что подпись плохая: статус отзыва просто не удалось узнать. Повторите проверку позже.
- Реквизиты не совпали. Документ подписало другое лицо или другая организация. Иногда это законная ситуация — например, подписал филиал, — но это повод задать вопрос до исполнения договора.
Когда проверять
Проще всего сделать проверку привычкой в трёх случаях: перед тем как начать работу по договору, перед оплатой по акту и перед тем как сдать документы в архив. Сама проверка занимает меньше минуты, а исправить проблему до исполнения договора гораздо проще, чем выяснять её через полгода.
С юридической стороны ориентир такой: по закону РК «Об электронном документе и электронной цифровой подписи» подпись ЭЦП НУЦ РК равнозначна собственноручной. Именно поэтому важно, чтобы все пункты выше действительно сошлись, а не просто в письме было написано «подписано ЭЦП». По спорным вопросам советуйтесь с юристом.
Как это сделать в System X
Если вы подписываете документы в разделе «Документы» (подробнее об ЭДО), проверка встроена в процесс. Каждая подпись — ваша и контрагента — проверяется тем же набором: хэш файла, цепочка до корней НУЦ, срок действия, отзыв сертификата. В карточке документа можно указать ожидаемый БИН или ИИН контрагента, и система сверит их с сертификатом.
Если документ пришёл к вам уже подписанным, его можно загрузить как входящий и приложить .p7s — подпись проверится так же, как своя. К подписанному документу формируется карточка подписания с QR-кодом: по нему любой, у кого есть бумажная копия, откроет страницу проверки и увидит, кто и когда подписал документ. Для полной проверки по-прежнему нужны сам файл и подпись — их можно скачать одним комплектом ZIP.
Как подписать документ с нуля, разобрано в статье Как подписать договор ЭЦП онлайн, а если NCALayer не видит ключ — в статье NCALayer не видит ключ: что проверить.
