Как проверить подпись SIG госуслуги?

Как проверить подпись SIG госуслуги? - коротко

Откройте файл подписи в программе «Электронная подпись», загрузите в неё оригинальный документ и нажмите «Проверить подпись» – система автоматически сверит сертификат с реестром ФНС и покажет статус подписи. Если статус «Подпись действительна», подпись подтверждена; иначе будет указана причина отказа.

Как проверить подпись SIG госуслуги? - развернуто

Проверка подписи SIG, используемой в системе «Госуслуги», состоит из нескольких последовательных действий, каждый из которых гарантирует, что полученный документ действительно подписан уполномоченным органом и не был изменён после подписания.

  1. Получение подписанного файла
    Сначала необходимо загрузить документ, в котором содержится подпись SIG. Чаще всего это XML‑файл, содержащий элемент <Signature> согласно стандарту XML‑DSig. Файл может быть получен через личный кабинет пользователя, скачан из письма или получен от партнёра по API.

  2. Получение сертификата подписи
    Подпись привязывается к X.509‑сертификату, включённому в элемент <KeyInfo> подписи. Сертификат может быть встроенным в сам документ или доступным по URL, указанному в <X509Data>. Если сертификат не включён, его следует запросить у поставщика услуги (например, через публичный репозиторий сертификатов ФЦП).

  3. Проверка статуса сертификата

    • С помощью OCSP‑запроса убедитесь, что сертификат не отозван.
    • При отсутствии OCSP‑службы выполните проверку в CRL‑списке, опубликованном Центром Сертификации.
    • Проверьте сроки действия сертификата: дата начала и дата окончания не должны нарушать текущую дату.
  4. Проверка цепочки доверия

    • Установите цепочку сертификатов от подписи до корневого сертификата, доверенного государством (обычно это сертификат ФЦП).
    • Каждый промежуточный сертификат проверяется на подпись предыдущим сертификатом в цепочке.
    • Корневой сертификат должен присутствовать в хранилище доверенных корневых сертификатов операционной системы или в специальном хранилище ФЦП.
  5. Верификация криптографической подписи

    • Вычислите хеш‑значение оригинального содержимого документа (обычно SHA‑256).
    • Дешифруйте значение подписи с помощью публичного ключа из сертификата.
    • Сравните полученный хеш с вычисленным. Совпадение подтверждает целостность и подлинность подписи.
  6. Проверка параметров подписи

    • Убедитесь, что алгоритм подписи соответствует требованиям ФЦП (например, RSA‑2048 с SHA‑256).
    • Проверьте, что в подписи указаны корректные атрибуты <SignatureMethod>, <DigestMethod> и <CanonicalizationMethod>.
  7. Автоматизация процесса

    • Для регулярных проверок внедрите скрипт на Python, Java или PowerShell, использующий библиотеки xmlsec, cryptography или BouncyCastle.
    • Скрипт должен выполнять все вышеописанные шаги и выводить итоговый статус: «Подпись действительна», «Сертификат отозван», «Хеш не совпадает» и т. д.
  8. Документирование результатов

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

Следуя этим пунктам, любой пользователь или система смогут убедиться, что подпись SIG в «Госуслугах» действительно принадлежит уполномоченному органу и документ не был изменён после подписания. Такой подход полностью соответствует требованиям безопасности, предъявляемым к электронным подпсям в государственных информационных системах.