Csptest описание команд windows

КриптоПРО: Bat файл создания ЭЦП

Сегодняшнюю небольшую запись я решил посветить теме создания электронной цифровой подписи средствами криптопровайдера «КриптоПРО». Речь пойдет о Bat файле, который можно будет использовать для автоматизации подписи электронных документов.

Для того что бы автоматизировать процесс подписывания электронных документов нам понадобится:
1) Крипто-ПРО CSP;
2) USB Ключ (например рутокен), вставленный в USB порт;
3) Блокнот (Notepad.exe);
4) Установленные сертификаты для Вашего ключа;

Камнем преткновения во всей этой истории является файл csptest.exe который находится в директории КриптоПро (по умолчанию C:\Program Files\Crypto Pro\CSP\csptest.exe).

Откроем командную строку и выполним команду:

Мы увидим все возможные параметры данного exe файла.

Для того, что бы увидеть параметры той или иной глобальной опции, достаточно вызвать данный файл с этой опцией, например

Таким образом, чтобы подписать файл через cmd средствами csptest.exe нужно вызвать команду:

где:
-my — Указывает владельца ключа;
-in — Указывает какой файл нужно подписывать. Если файл находится не в папке с csptest то нужно указывать полный путь.;
-out — Указывает имя файла подписи;

Проверить подпись можно на сайте Госулсуг по данной ссылке .

Скорей всего. Если сейчас загрузить данный файл на сайте госуслуги, то появится ошибка. Вызвано это тем, что необходима информация об удостоверяющем центре. Так же не будет лишней дата и время подписи документов. Для этого к нашей команде нужно добавить два параметра:

Если же нам нужна подпись в осоединенном формате, то добавим еще один параметр:

Примечание:Если подпись документа выполняется с ошибкой
Unable to open file
An error occurred in running the program.
.\signtsf.c:321:Cannot open input file.
Error number 0x2 (2).
Не удается найти указанный файл.

при вызове, как в последнем примере, и Вы уверены в правильности путей в параметре -in и -out, попробуйте создать подпись по первому примеру, а после выполнить команду с полным набором параметров.

Основную команду для подписи мы получили. Теперь немного упростим процедуру. Сделаем bat файл, при запуске которого будет подписывать файл Secret.txt, находящийся в тойже папке что и bat файл. Откроем блокнот и запишем слудующий код:

Нажимаем «Файл» -> «Сохранить как» -> ЗадаемИмя с .bat -> «Сохранить»
Собсвенно и все. Для справки:
chcp 1251 — Задает кодировку для CMD. Необходимо для валидной обработки русских букв в коде;
set CurPath=%cd% — Сохраняет путь текущей директории CMD в переменную CurPath;
cd — Задает текущий путь CMD;
call — Запускает программу;

Csptest описание команд windows

Сообщения: 790
Благодарности: 341

В ручном режиме ни каких проблем не вызывает переименование названия ключа, все прекрасно работает. 1500 тысячи ключей вручную сидеть переименовывать то себе удовольствие. »

не рекомендую запускать сразу на куче файлов, тестируйте на двух-трех-четырех.

Для powershell 2.0

——-
scio me nihil scire

Последний раз редактировалось YuS_2, 02-07-2019 в 18:08 .

Это сообщение посчитали полезным следующие участники:

14.PNG
(12.5 Kb, 6 просмотров)
Что из себя представляет тот файл из которого предполагается читать информацию? »

Если в процессе выполнения скрипта возникли ошибки или его не удалось запустить, смотрите раздел Решение проблем.

Утилиты export_keys.ps1 и import_keys.ps1¶

Две утилиты, используеющиеся совместно.

  • автоматически определяет разрядность системы;
  • автоматически определяет SID пользователя;
  • экспортирует ветку в папку со скриптом.
  • автоматически определяет разрядность системы;
  • автоматически определяет SID пользователя;
  • изменяет ветку реестра в экспортированном файле;
  • импортирует файл с контейнерами;
  • автоматически устанавливает сертификаты, перенесенных контейнеров.

Утилиты целесообразно использовать в случае, когда требуется перенести большое количество контейнеров из реестра одного компьютера, в реестр другого.

Алгоритм работы¶

  1. Перенесети папку с утилитами на первый компьютер абонента, с которого надо скопировать контейнеры;
  2. Запустите скрипт export_keys.ps1 и дождитесь его успешного выполнения. При этом в папке со скриптами появится экспортированная ветка реестра;
  3. Перенесите папку со скрипом и экспортированным файлом на второй компьютер;
  4. Запустите скрипт import_keys.ps1 и дождитесь его успешного выполнения;
  5. Просмотрите вывод скрипта, на наличе проблем и проверьте вход в сервисы СКБ Контур.

При использовании скриптов не требуется устанавливать сертификаты через КриптоПро. Однако, вы можете проверить через КриптоПро успешное выполнение сценариев.

Скрипт export_keys.ps1 сохраняет ветку в файле ps_keys.reg на рабочем столе. Скрипт import_keys.ps1 подхватывает файл ps_keys.reg также с рабочего стола и резудьтат обработки сохраняет в файле ps_keys_out.reg .

Файл ps_keys.reg не будет подхвачен скриптом import_keys.ps1 из других папок.

Вывод скриптов¶

Скрипты подробно комментируют процесс своего выполнения, поэтому внимательно смотрите то, что они выводят в командной строке.

Пример успешного вывода export_keys.ps1 :

Пример успешного вывода import_keys.ps1 :

Утилита cert-install.ps1¶

cert-install.ps1 – утилита для массовой установки сертификатов.

Позволяет массово устанавливать сертификаты с носителей. При необходимости можно установить сертификаты только с определенного носителя.

Алгоритм работы¶

После запуска скрипта появится меню выбора действий:

В зависимости от выбора будет выполнена соответствующая операция.

Решение проблем¶

Windows блокирует запуск скрипта¶

Система “безопасности” Windows может заблокировать выполнение скриптов. В такой ситуации требуется принудительно разрешить их выполнение.

Если при попытке выполнить сценарий появляется сообщение Не удается загрузить файл , так как выполнение скриптов запрещено для данной системы. Введите “get-help about_signing” для получения дополнительных сведений, достаточно подтвердить свое согласие введя Y .

Также можно воспользоваться средой разработки Windows PowerShell ISE. Подробнее смотрите:

© Copyright 2015, Dmitry Mazhartsev. Revision b0538c8a .

Csptest описание команд windows

Утилита сsptest.exe , входит в состав программы КриптоПро и позволяет выполнять операции через командную строку. Это дает возможность автоматизировать выполняемые действия с помощью скриптов.

Далее будут рассмотрены основные команды утилиты сsptest.exe и скрипты, позволяющие выполнить массовое копирование контейнеров закрытых ключей и установку сертификатов.

Для удобства, перед выполнением команд перейдите в папку C:\Program Files\Crypto Pro\CSP , выполнив в командной строке команду: cd «C:\Program Files\Crypto Pro\CSP»

Справка по csptest.exe

Посмотреть все параметры утилиты сsptest.exe :

Основные команды csptest.exe

Просмотр списка контейнеров закрытых ключей

Список контейнеров выводится с помощью параметра -keyset :

Для просмотра списка контейнеров на съемных носителях используется параметр -machinekeys . В данном случае не будут показаны ключи, установленные в реестр:

Пример вывода команды:

Флешки и дискеты обозначаются как FAT12_x , где и x буква, присвоенная съемному носителю.

Носитель будет отображен данной командной только в том случае, если на нем есть контейнеры.

Копирование контейнера осуществляется с помощью параметра -keycopy :

  • -src — имя контейнера. Имена контейнеров уникальны, поэтому можно не указывать путь к носителю, КриптоПро сама найдет путь к контейнеру.
  • -dest — имя скопированного контейнера, оно должно отличаться от исходного имени. Так же можно указать путь к контейнеру, например, если указать -dest «\\.\FAT12_H\2015ZAO_3» , то контейнер будет скопирован на флэшку. Если не указать путь к носителю, а просто задать название контейнеру, то крипто про выведет графический диалог выбора носителя для копирования.
  • -pinsrc — пароль от исходного контейнера, если пинкода нет, то данный параметр можно не указывать.
  • -pindest — пароль на скопированный контейнер. Чтобы подавить графический диалог установки пароля при автоматическом копировании контейнеров, можно указать пустой пароль, выполнив -pindest=»»

Например, рассмотрим копирование контейнера с рутокена в реестр:

Аналогичная ситуация с рутокенами, в данном случае программа не различает понятия пароль и пин-код. Т.е. чтобы скопировать контейнер с рутокена на носитель можно команде -pinsrc присвоить стандарнтный пин-код от Рутокена 12345678 . В таком случае не будет выводиться запрос на ввод пин-кода Рутокена.

Копирование на Рутокен

К сожалению, копирование контейнера на Рутокен работает не совсем гладко. Если параметру -dest указать значение \\.\Aktiv Co. ruToken 0\Имя_контейнера , то будет выведено пустое окно КриптоПро для выбора ключевого носителя.

В данном случае лучше передать параметру -dest просто название контейнера, без указания пути к носителю, но тогда при копировании каждого контейнера будет появляться уже не пустое окно КриптоПро для выбора ключевого носителя, в котором надо будет вручную выбирать нужный Рутокен.

С другой стороны, такое поведения достаточно удобно при копировании большого числа контейнеров на разные Рутокены. Можно контролировать заполненность носителя.

Установка сертификатов производится параметром -cinstall :

Смена пароля на контейнер (снятие паролей с контейнера)

Чтобы удалить пароли с контейнеров, можно в параметр -change передать «» .

Автоматизация работы с сертификатами и контейнерами

Графические интерфейсы очень неудобны для работы с большим количеством ключей. Утилиты командной строки позволяют автоматизировать практически все задачи. В разделе :ref:`cert-utilities` приводится ряд утилит, позволяющих автоматизировать работу с сертификатами и контейнерами.

Читайте также:  Где находится домашний каталог пользователя linux
Оцените статью