Создание открепленной подписи (.sig) для PDF-документов
Чтобы сформировать файл подписи .sig для PDF-документа, необходимо использовать специализированное криптографическое ПО (например, КриптоАРМ или VipNet), так как стандартные просмотрщики PDF обычно создают только встроенные подписи. Процесс заключается в выборе исходного файла, указании сертификата ключа проверки электронной подписи (КЭП) и генерации отдельного файла с расширением .sig, который криптографически подтверждает авторство и неизменность оригинала.
В чем разница между встроенной подписью и файлом .sig
В электронном документообороте (ЭДО) используются два основных формата подписания:
- Встроенная подпись (PAdES). Данные о подписи внедряются непосредственно в структуру PDF-файла. Визуально это часто выглядит как штамп на странице. Такой файл самодостаточен, но его нельзя отправить в некоторые государственные системы (например, ФНС или суды) без предварительной конвертации, так как они требуют строгого разделения данных и подписи.
- Открепленная подпись (.sig / .p7s). Файл подписи создается отдельно от документа. Исходный PDF не изменяется ни на байт. Файл
.sigсодержит только хэш-сумму документа и данные сертификата. Это стандарт де-факто для сдачи отчетности в ФНС, работы с порталами госуслуг и большинством площадок ЭДО в РФ.
Важно: Файл .sig бесполезен без исходного документа. Для проверки подписи всегда нужны оба файла: document.pdf и document.pdf.sig (или просто document.sig).
Подготовка рабочего места
Перед началом работы убедитесь, что выполнены следующие условия:
- Установлен криптопровайдер (например, КриптоПро CSP).
- Установлена программа для работы с подписями (КриптоАРМ ГОСТ, КриптоАРМ Стандарт или аналог).
- Носитель с ключом ЭП (токен, смарт-карта или реестр) подключен к компьютеру.
- Сертификат ЭП установлен в личное хранилище и не просрочен.
Пошаговая инструкция: создание .sig через КриптоАРМ
Рассмотрим процесс на примере популярного ПО «КриптоАРМ». Интерфейс других программ может отличаться, но логика действий идентична.
Шаг 1. Запуск мастера подписи
- Откройте программу КриптоАРМ.
- На главной панели выберите пункт Подписать (или «Создать подпись»).
- Откроется «Мастер создания электронной подписи». Нажмите Далее.
Шаг 2. Выбор файла для подписи
- Нажмите кнопку Добавить файлы (или «Обзор»).
- Выберите нужный PDF-документ.
- Если нужно подписать несколько файлов одним пакетом, добавьте их все сейчас.
- Нажмите Далее.
Не переименовывайте и не редактируйте PDF-файл после создания подписи. Даже изменение одного пробела сделает подпись недействительной.
Шаг 3. Настройка параметров вывода
Это критически важный этап. Здесь определяется, будет ли подпись встроенной или открепленной.
- В разделе Формат выходного файла выберите Открепленная подпись.
- Убедитесь, что тип кодирования соответствует требованиям принимающей стороны (обычно это PKCS#7 или CMS).
- В поле Кодировка рекомендуется оставить значение по умолчанию (часто Base64 или DER). Для большинства госпорталов подходит Base64.
- Нажмите Далее.
Шаг 4. Выбор сертификата
- Система предложит выбрать сертификат из списка доступных в личном хранилище.
- Выберите нужный сертификат (обратите внимание на срок действия и владельца).
- Если требуется, поставьте галочку «Добавить сертификат в подпись» (это увеличит размер файла .sig, но позволит получателю проверить подпись без запроса вашего открытого ключа отдельно).
- Нажмите Далее.
Шаг 5. Завершение и сохранение
- Укажите папку для сохранения результата. По умолчанию файл подписи сохраняется рядом с исходным документом.
- Имя файла будет сформировано автоматически (например,
dogovor.pdf.sig). - Нажмите Готово.
- При использовании токена (Рутокен, JaCarta) система запросит PIN-код. Введите его для подтверждения операции.
После завершения в папке появится файл с расширением .sig.
Как проверить корректность созданной подписи
Не отправляйте документ, не убедившись, что подпись валидна.
- Откройте КриптоАРМ.
- Выберите пункт Проверить (или «Проверка подписи»).
- Укажите путь к файлу
.sig. - Программа автоматически найдет исходный файл (если он лежит в той же папке и имеет соответствующее имя) или попросит указать его вручную.
- Нажмите Далее и дождитесь результата.
Статус «Подпись проверена» означает, что документ цел, а подпись принадлежит владельцу сертификата. Статус «Ошибка» или «Недействительна» требует проверки сроков действия сертификата и целостности исходного PDF.
Частые ошибки при формировании SIG-файла
| Ошибка | Причина | Решение |
|---|---|---|
| Сертификат не найден | Ключ не установлен в хранилище или драйвер токена не запущен. | Проверьте подключение токена, установите промежуточные сертификаты УЦ. |
| Неверный формат подписи | Выбрана «Встроенная подпись» вместо «Открепленной». | Переподпишите документ, внимательно выбрав пункт «Открепленная подпись» на шаге настроек. |
| Ошибка хэш-суммы | Исходный PDF был изменен после подписания. | Подпишите актуальную версию файла заново. |
| Алгоритм хэширования не поддерживается | Используется старый ГОСТ Р 34.11-94, а система требует ГОСТ Р 34.11-2012. | Выберите сертификат нового образца (с красной полосой или пометкой 2012/2018) и убедитесь, что КриптоПро CSP версии 4.0+ настроен на использование новых алгоритмов. |
FAQ
Можно ли открыть файл .sig в Adobe Acrobat?
Нет, Adobe Acrobat не предназначен для работы с открепленными подписями формата ГОСТ. Он работает со встроенными подписями PAdES. Для просмотра и проверки .sig используйте КриптоАРМ, VipNet Client или онлайн-сервисы проверки подписи (например, на портале Госуслуг или сайте Контур.Крипто).
Что делать, если принимающая сторона требует один файл? Если система не принимает пару файлов, иногда требуется упаковать PDF и SIG в архив ZIP. Однако большинство современных систем ЭДО позволяют загружать файлы по отдельности или автоматически ассоциируют их по имени. Уточните технические требования у получателя.
Можно ли подписать PDF на macOS или Linux?
Да. Для macOS существуют аналоги КриптоАРМ (например, КриптоАРМ ГОСТ для Mac) или можно использовать командную строку КриптоПро CSP. Для Linux также доступны консольные утилиты csign или графические оболочки от различных вендоров, поддерживающие работу с токенами и ГОСТ-алгоритмами.