Оглавление
Задача – есть ключ подписи, им надо подписать какой то файл .pdf
Это можно сделать через Acrobat Reader + Крипто Про Pdf Plugin, либо с помощью программы КриптоАРМ. НО! Можно и консольной утилитой КриптоПРО без какого то доп софта, только КриптоПРО.
Шаг 1. Узнать отпечаток (thumbprint) сертификата
- Через
certmgr.exeиз состава КриптоПро CSP: командаcertmgr -listвыведет все личные сертификаты с полем «SHA1 отпечаток». Через PS:
& "C:\Program Files\Crypto Pro\CSP\certmgr.exe" -list
- Либо в «Инструментах КриптоПро» → Сертификаты → открыть сертификат → поле «Отпечаток»
- Либо в Windows:
certmgr.msc→ Личное → Сертификаты → двойной клик → вкладка «Состав» → «Отпечаток».
Скопированный отпечаток нужно очистить от пробелов: bb1a...c43f — сплошная строка из 40 hex-символов.
Шаг 2. Создать отсоединённую подпись
Качаем cryptcp x64, лицензия на неё входит в лицензию CSP
Подписываем:
cryptcp -sign -detached -thumbprint <отпечаток> файл.pdf файл.pdf.sig
Шаг 3. Проверка подписи
cryptcp -vsignf -thumbprint bb1a...c43f "C:\docs\договор.pdf"
Автоматизация: пакетная подпись папки
Пример bat-файла, подписывающего все PDF в папке:
@echo off
set TP=bb1a...c43f
for %%f in ("C:\docs\*.pdf") do (
cryptcp -signf -thumbprint %TP% -der "%%f"
)
Сryptcp это утилита самой КриптоПро, и она работают через криптопровайдер КриптоПро CSP, то есть подпись формируется именно российскими ГОСТ-алгоритмами.