Утилита Csptest.exe

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

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

Примечание

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

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

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

сsptest.exe

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

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

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

csptest.exe -keyset -enum_cont -verifycontext -fqcn

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

csptest.exe -keyset -enum_cont -verifycontext -fqcn -machinekeys

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

CSP (Type:75) v3.6.5365 KC1 Release Ver:3.6.7777 OS:Windows CPU:IA32 FastCode:READY:SSE2.
AcquireContext: OK. HCRYPTPROV: 2433328
\\.\REGISTRY\2015ZAO_
\\.\Aktiv Co. ruToken 0\86425052@2015-02-11-ЗАО ПФ СКБ Контур
\\.\Aktiv Co. ruToken 0\2015ZAO
\\.\FAT12_H\2015ZAO_flash
\\.\FAT12_H\2015ZAO_2
OK.
Total: SYS: 0,609 sec USR: 0,234 sec UTC: 4,688 sec
[ErrorCode: 0x00000000]

Примечание

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

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

Копирование контейнера

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

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

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

csptest.exe -keycopy -src 2015ZAO -pinsrc=12345678 -dest "\\.\REGISTRY\2015ZAO_3" -pindest=""

Примечание

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

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

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

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

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

Установка сертификатов

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

csptest.exe -property -cinstall -cont "Имя контейнера"

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

csptest -passwd -cont имя_контейнера -change новый_пароль -pin старый_пароль

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

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

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