КриптоПРО: Bat файл создания ЭЦП
Пример:
c:\Program Files (x86)\Crypto Pro\CSP\csptest -sfsign -sign -in c:\temp\ФайлКоторыйНадоПодписать.txt -out c:\temp\ФайлКоторыйБудетСодержатьПодпись.bin -my СтрокаПоискаСертификата -add
Вроде тут все понятно, за исключением нескольких моментов:
1. Сертификат должен лежать на компе в хранилище сертификатов (можно посмотреть) CertMgr.msc, в разделе личные. При это если это хранилище по пользователям то передаем флаг "-my". Если хранилище LocalMaschine то "-MY"
2. Строка поиска сертификата, должна содержать что-то уникальное. Обычно email подписанта, или его фамилию. (пример: -my ivanov@gmail.com)
3. Сертификат по этой строке должен быть найден один, а то она начнет предлагать выбрать нужный и автомата не получится.
4. В результате этой строки создастся файл, который будет содержать исходный файл + подпись. Если надо просто отдельно создать файл подписи то добавляем после -sign еще один флаг "-detached"
5. В данной строке еще до кучи помимо закрытого ключа добавляется сам сертификат в виде текста. Так требуют например Госуслуги. Без этого валидация там не проходит. Если сертификат включать не нужно, то убираем флаг "-add"
6. Переместить сертификат в хранилище компа можно просто кликнув на файле .pfx - потом, далее, далее, далее и где-то там поставить галочку "запомнить пароль". А можно с помощью утилиты cryptoPro.
7. Тестировать это чудо надо из командной строки, при этом надо по cd.. перейти в папку c:\Program Files (x86)\Crypto Pro\CSP\ и запускать просто csptest .....
из батника вызов по пути должен работать
8. И еще момент, всплывающий на разных ОС. Папка x86 может быть и не быть, так что можно вызывать просто из Program Files, версию x64.