Spki1utl утилита командной строки СКАД Сигнатура - diev/diev.github.io GitHub Wiki
Утилита командной строки СКАД Сигнатура
Утилита командной строки (версия 5.0.341.0) использование: spki1utl.exe [ОПЕРАЦИИ] [ПАРАМЕТРЫ] [ОПЦИИ]
-
-sign
- подписать -
-verify
- проверить подпись -
-encrypt
- зашифровать -
-decrypt
- расшифровать -
-hash
- вычислить хэш -
-help
- показать справку
-
-profile [PROFILE]
- установить профиль в PROFILE -
-registry
- использовать профиль PROFILE из реестра -
-algorithm [OID]
- объектный идентификатор алгоритма хэширования -
-in [INFILE]
- имя входного файла INFILE -
-out [OUTFILE]
- имя выходного файла OUTFILE -
-data [DATAFILE]
- имя файла данных DATAFILE (для ЭП и хэш)
-
-minimal
- использовать минимальный набор функций -
-stream
- использовать потоковые алгоритмы -
-format [FMT]
- формат хэш-значения - 1: LE число (по умолчанию); 2: LE байты; 3: BE число; 4: Base64 -
-silent [ERRFILE]
- режим без показа сообщений c записью протокола в ERRFILE -
-sendcert
- добавлять собственный сертификат при выполнении ЭП -
-crlupdate [FILE]
- обновление СОС (если FILE не задан, то с LDAP)
-
-p7
- формат PKCS#7 -
-revtime
- использовать время отзыва сертификата -
-detached
- отделенная ЭП -
-eku [EKU]
- добавить oid EKU расширенного использования ключа -
-policy [POLICY]
- добавить oid POLICY политики использования сертификата -
-delete [КОЛ]
- удалить КОЛ подписей после проверки -
-ldap (crlupdate)
- использовать LDAP для поиска сертификатов -
-aiacdp
- использовать точки AIA и CDP при построении цепочек -
-info [FIELDS]
- информация о сертификате (по умолчанию: владелец,хэш)
возможные значения: subject, hash, altname, serial, notbefore, notafter, algorithm
-
-recsubj [SUBJ]
- добавить сертификат с DN SUBJ в список получателей -
-rechash [HASH]
- добавить сертификат с хэшем HASH в список получателей -
-reckeyid [KEYID]
- добавить сертификат с идентификатором ключа KEYID в список получателей -
-reclist [FILE]
- считать список получателей из файла FILE
"C:\Program Files\MDPREI\spki\spki1utl.exe" -sign -data %1 -out %2
"C:\Program Files\MDPREI\spki\spki1utl.exe" -encrypt -in %1 -out %2 -recsubj "CN=KZ_GU,OU=KC,O=CBRF,L=KASZ,ST=40,C=RU"
(Команда в одну строку - с указанием сертификата CN=
получателя.)
Допустимо шифрование сразу на несколько получателей с указанием их в отдельных -recsubj
или же в файле для параметра -reclist
(обязательно указывать полный путь к этому файлу, а иначе ищется в C:\Windows).
"C:\Program Files\MDPREI\spki\spki1utl.exe" -encrypt -in %1 -out %2 -reclist .\reclist.txt
Формат файла для -reclist
такой:
[General]
Number=2
[Recipient1]
Type=KeyId
Value=<Тут ключ ФНС>
[Recipient2]
Type=KeyId
Value=<Тут ключ ФСС>
"C:\Program Files\MDPREI\spki\spki1utl.exe" -decrypt -in %1 -out %2
"C:\Program Files\MDPREI\spki\spki1utl.exe" -verify -in %1
"C:\Program Files\MDPREI\spki\spki1utl.exe" -verify -in %1 -out %2 -delete 1
Примечание: чтобы всякий раз не запрашивался нужный профиль, можно указать параметр -profile
, но для его работы надо создать файл pki1.conf
(в кодировке 1251) в текущей директории:
# pki1 configuration file
default: По умолчанию
local: 07-FOIV
pse: pse://signed/C:\СКАД\Профили абонентов\07-FOIV\local.pse
localstore: file://C:\СКАД\Профили абонентов\07-FOIV\local.gdbm
"C:\Program Files\MDPREI\spki\spki1utl.exe" -profile 07-FOIV -encrypt -in %1 -out %2 -recsubj FNS -recsubj FSS
for %%f in (temp\CB_ES550P_*.xml) do (
"C:\Program Files\MDPREI\spki\spki1utl.exe" -profile %profile% -decrypt -in %%f -out %%f.gz
"C:\Program Files\7-Zip\7z.exe" e -y -tgzip %%f.gz
"C:\Program Files\MDPREI\spki\spki1utl.exe" -profile %profile% -verify -in %%f -out ExchangePoint\CBRF\BANK\%%~nxf -delete 1
)
Для вычисления нового хэша после изменения файла конфигурации АРМ КБР-Н можно использовать команду:
"C:\Program Files\MDPREI\spki\spki1utl.exe" -hash -stream -algorithm 1.2.643.7.1.1.2.2 -data %1 -minimal -format 4
- Для этого в файле pki1.conf указать профиль KBR-N
- Удалить в файле arm.cfg параметр hash="..." в тэге Config (оставить
<Config>
только) - Рассчитать и вписать новое вычисленное значение на это место (
<Config hash="...">
)