Открыть сервисСервис

Подписание файлов в формате SIG средствами КриптоПро

Подписание файла в формате SIG — процедура создания электронной подписи с помощью криптопровайдера «КриптоПро CSP», при которой подпись сохраняется в отдельном файле с расширением .sig (формат подписи, соответствующий ГОСТ Р 34.10-2012). Такой файл содержит криптографическую подпись исходного документа и может быть передан вместе с ним для проверки подлинности и целостности.

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

Файл .sig — это контейнер, содержащий подпись, вычисленную по алгоритму ГОСТ Р 34.10-2012 (или устаревшему ГОСТ Р 34.10-2001). Внутри него могут храниться:

  • значение подписи (два числа r и s);
  • идентификатор подписывающего ключа (серийный номер сертификата);
  • метка времени подписания;
  • OID используемого хеш-алгоритма (обычно ГОСТ Р 34.11-2012, 256 или 512 бит).

Формат .sig не привязан к конкретному содержимому: файл подписи хранится отдельно от подписываемого документа, что отличает его от формата CAdES, где подпись встраивается в сам документ. Для проверки подписи требуется исходный файл, файл подписи и сертификат подписывающего.

Инструменты подписания

КриптоПро CSP

Основной криптопровайдер «КриптоПро CSP» реализует функции подписи через криптографический провайдер Windows (CryptoAPI) или собственный интерфейс. Подписание файла в формате .sig выполняется средствами утилит командной строки csptest и cspconfig, а также через графические утилиты «КриптоПро».

КриптоПро Explorer

Графическая утилита «КриптоПро Explorer» входит в состав дистрибутива «КриптоПро CSP» и позволяет подписывать файлы без работы с командной строкой. Для подписания в формате .sig:

  1. Открыть контейнер закрытого ключа (файл .key или ключевой контейнер в реестре/на токене).
  2. Выбрать сертификат из личного хранилища.
  3. Выполнить команду «Подписать файл» и указать формат подписи — detached (отсоединённая подпись, .sig).

Утилиты командной строки

Для автоматизации используется утилита csptest.exe, входящая в состав «КриптоПро CSP». Пример команды подписания:

`` csptest -keyset -sign -hashalg grs3411_2012_256 -alias "имя_ключа" -datafile input.txt -sigfile output.sig ``

Основные параметры:

ПараметрНазначение
-keysetработа с ключевым контейнером
-signоперация подписания
-hashalgалгоритм хеширования (grs3411_2012_256, grs3411_2012_512)
-aliasимя ключевого контейнера
-datafileподписываемый файл
-sigfileфайл для сохранения подписи

Порядок действий

Для подписания файла в формате .sig необходимо:

  1. Установить «КриптоПро CSP» соответствующей версии (4.0 и выше рекомендуется для работы с ГОСТ Р 34.10-2012).
  2. Установить сертификат подписывающего в личное хранилище Windows и убедиться, что цепочка доверия корневого сертификата УЦ завершена.
  3. Иметь доступ к закрытому ключу — ключевой контейнер на токене (Рутокен, eToken, JaCarta), в реестре или в файле.
  4. Выполнить подписание через «КриптоПро Explorer», командную строку или программный интерфейс (CryptoAPI, CryptoPro CSP COM).

Проверка подписи

Проверка выполняется утилитой csptest:

`` csptest -keyset -verify -hashalg grs3411_2012_256 -datafile input.txt -sigfile output.sig ``

При успешной проверке возвращается код 0. Графическая проверка возможна через «КриптоПро Explorer» или «КриптоПро DSS».

Применение

Формат .sig применяется в системах электронного документооборота, при сдаче отчётности в контролирующие органы, в ГИС и ведомственных системах, где требуется отсоединённая подпись. Ряд ведомственных форматов (например, форматы ФНС, ПФР, ЕГРЮЛ) исторически используют именно .sig как стандартный контейнер подписи.

Примечания

  • Файл подписи не содержит подписываемых данных — для проверки необходим исходный документ.
  • При подписании нескольких файлов создаётся отдельный .sig для каждого.
  • Совместимость формата обеспечивается средствами «КриптоПро CSP» и совместимых криптопровайдеров, реализующих ГОСТ Р 34.10-2012.

Источники

  • Документация «КриптоПро CSP» (справка по утилитам csptest, csptestnet)
  • ГОСТ Р 34.10-2012 «Процессы формирования и проверки электронной цифровой подписи»
  • ГОСТ Р 34.11-2012 «Хеш-функция»
  • Руководство пользователя «КриптоПро Explorer»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru