ООО Топ Кросс


 
 PKI_TOOL. Клиентское программное обеспечение на технологии инфраструктуры открытых ключей

Утилита командной строки pki_tool имеет встроенную систему подсказок доступную по:

   pki_tool --h[elp] (для основных параметров) и
   pki_tool -cmd  --h[elp] (для команды из списка доступных)

Перед началом использования pki_tool необходимо проинициализировать хранилище программного PKCS#11-токена (см. описание -init).

Основные параметры

При вызове без параметров, с ошибочными параметрами либо с параметром --h[еlp] pki_tool выводит общую подсказку по основным аргументам командной строки и доступным командам (состав доступных команд может меняться в зависимости от поставки).

PKI Tool vXXX (C) LLC Top Cross 2005

Usage: pki_tool [common parameters] [-cmd  [cmd_parameters] ]
Common parameters:
	-pin: defines pkcs#11-token user's PIN
	-home: path to pki_tool certificate storage (default ./)
	-setpin: used to set new user PIN (on initialized token)
	-init: -init  : used to initialize new PKCS#11-token
	-slotlist: list of slots in tokens
	-slot: select slot number
	-te: codepage/encoding for text output (win, dos, koi, utf8, ucs2, ucs4)
	-tf: format for text output (plain, xml)
	-l: language for text output (ru, eng) (default eng)
	-crl: CRL file, PEM-format, optional, enables CRL-usage (default NULL)

		file-path form or HTTP-URL form can be used. Example "http://ca.adam.ru/crl_list.pem"
	-crl-cache: crl-cache path, optional, enables CRL-usage (default NULL, example /etc/crl_cache )
	-crl-force-deltas: optional, if set validation process will fail if delta-crl informaion is unavailble
	-ldap: LDAP-server DNS-name, optional, set to enable automatic CRL retrival and

		 certificate-chain composition (default NULL)
Availible commands:
	cert: import certificate files (PEM/DER/P7B), list installed certs
	p12: pkcs#12 import
	sign: PKCS#7/CMS signing tool
	dvc: Data Validation and Certification client
	vfy: PKCS#7/CMS signature verification (W/O CRLs)
	wrap: PKCS#7/CMS EnvelopedData generation
	unwrap: PKCS#7/CMS EnvelopedData extraction
	ocsp: Online Certificate Status Protocol client
	text: ASN1 -> text converter for
	{ Certificate | CRL | PKCS#10 certificate request | PKCS#7/CMS ContentInfo }
	params: installation of cryptographic parameters
  • -init - используется для инициализации хранилища программного PKCS#11-токена. Обязательный параметр - начальный PIN, ограничивающий доступ к приватным ключам, необходимым при подписании документов, dvcs-запросов и установлении защищенных соединений (TLS). Может быть использован одновременно только с параметром "-home".
  • -home - путь к хранилищу (директория) программного PKCS#11-токена (соответственно директория должна быть доступна пользователю на RWX). По умолчанию - текущая (рабочая) директория. Данный параметр может быть указан при любых операциях с pki_tool.
  • -setpin - используется для смены PIN-a для доступа к хранилищу. Возможно только для проинициализированного хранилища. Может быть использован одновременно только с параметром "-home".
  • -te - указывает кодовую страницу/кодировку в которой должен производиться вывод текстовой информации. Возможные значения: { win, koi, utf8, ucs2, ucs4 }. Значение по умолчанию для *NIX-систем - koi, для Windows - win. Данный параметр может быть указан при любых операциях с pki_tool.
  • -l Язык для текстовых данных{ ru, en }.
  • -crl имя ресурса с CRL (файл или URL).
  • -crl-cache путь к директории, которую утилита будет использовать для хранения информации о CRL.
  • -crl-force-deltas Если установлен этот флаг, то наличие дельта-CRL будет необходимым для успешной проверки.
  • -ldap LDAP сервер для автоматического получения CRL и дельта-CRL.

Описание команд.

Преобразование текста в ASN.1 и обратно.

PKI tool:  command

	-in: file, to read ASN1 data to be converted from (default STDIN)
	-out: file, to write text to (default STDOUT)
	-type: ASN1-type name to parse, optional, one of (x509, crl, p10, p12, cms).
					If not set - all types will be tested.
	-fromtext: indicates that reverse (text->ASN.1) conversion required 
	-ce: clear encoded in ASN.1 before convert to text

Параметр fromtext обозначает преобразование xml в ASN.1 type может быть: x509, crl, p10, p12, cms. Если указан флаг -ce, то в выходном текстовом файле не будет содержаться encoded. Подробнее действие комманды описано в документации на view_tool.

Пример: 
# pki_tool -cmd text -in cert.xml -out cert.cer -fromtext

Импорт "чужих" сертификатов - импорт из незащищенных форматов, без импорта приватных ключей.

PKI tool:  <cert> command

        -in <file>      : read certificate from (default STDIN)
        -inform <format>: { DER(default), PEM, P7B }
        -out <file>     : write certificate to
        -outform <format>       : { DER(default), PEM, TEXT }
        -text <file>    : write certificate text to (default STDOUT)
        -list           : view/delete currently installed certificates
        -vfy            : set to vfy certificate
        -policy-set <OIDs> : one or more initial policies
                                Example: "1.2.3.4|5.6.7.8"
        -policy-mapping-inhibit : initial indicator
        -policy-any-inhibit     : initial indicator
        -policy-explicit        : initial indicator

В качестве входного файла можно указать stdin (-).

Пример: 
cat /mnt/root.pem | ./pki_tool -cmd cert -inform PEM -in -
[ OK ][ cert ][ import ][ РНЦ КИ - ДЕМО УЦ ]
[ OK ][ cert ][ import ][ РНЦ КИ - АДМИНИСТРАТИВНЫЙ ДЕМО УЦ  ]
[ OK ][ cert ][ import ][ RRC KI - DEMO CA ]

В качестве входного файла можно указать stdin (-).

Пример: 
# request_tool –ldap LdapServer.ru -cmd cert -in Personal.cer -vfy
[ OK ][ cert ][ vfy ][ XXX - ДЕМО ПЕРСОНАЛЬНЫЙ СЕРТИФИКАТ ]

При проверке сертификата с учетом приемлемых политик, необходимо указать –policy-set с соответствующими идентификаторами политик и задать входные. данные. Использование -policy-mapping-inhibit означает запрет использования эквивалентных политик, -policy-any-inhibit – запрет использования специального идентификатора политики применения anyPolicy { 2 5 29 32 0 }, -policy-explicit – требование наличия приемлемого идентификатора политики применения для сертификатов, участвующих в пути сертификации.

Пример:
# request_tool -cmd cert -in Personal.cer –vfy –policy-set “1.2.3.4”
[ OK ][ cert ][ vfy ][ XXX - ДЕМО ПЕРСОНАЛЬНЫЙ СЕРТИФИКАТ ]

Установка криптографических параметров.

PKI tool:  command

        -in: file with crypto parameter (default STDIN).

Устанавливаются криптографические параметры. -in - входной файл с параметрами.

Пример: 
# pki_tool -pin myPIN -home /my/home -cmd params -in GOST-3111-CryptoPro 

Импорт "персональных" сертификатов - импорт из защищенного формата PKCS#12.

PKI tool:  command

        -in: file, to read pkcs#12 from
        -passwd: pkcs#12 protection password
Пример: 
# pki_tool -pin myPIN -home /my/home -cmd p12 
					-in admin.p12 -passwd pAsSwOrD
[ OK ][ cert ][ import ][ РНЦ КИ - АДМИНИСТРАТИВНЫЙ ДЕМО УЦ  ]
[ OK ][ cert ][ import ][ АДМИНИСТРАТОР ]

Примечание: сообщение об ошибке при импорте приватного ключа возможно в следующих ситуациях:

  • не указан PIN для доступа к хранилищу
  • неверно указан пароль на PKCS#12 файл
  • данный приватный ключ уже установлен в хранилище

Выработка ЭЦП

PKI tool:  command

        -in: file, to read data to be signed from ( /dev/null default )
        -out: file, to write signed data to ( STDOUT default )
        -ext: indicates that 'external'-mode signature should be made
Примеры: 
pki_tool -pin myPIN -cmd sign -in data.txt -out data.p7m

pki_tool -pin myPIN -cmd sign -in data.txt -out data.p7s -ext

Примечание: для формирования ЭЦП выбирается первый найденный среди присутствующих в хранилище сертификат, имеющий приватный ключ. В случае необходимости формирования ЭЦП от разных авторов необходимо использовать различные хранилища и указывать пути к ним при помощи параметра -home.

Проверка ЭЦП

PKI tool:  command

        -in: file, to read data to be verified from ( /dev/null default )
        -out: file, to write original signed data to ( /dev/null default )
        -dvc: indicates that input is DVC
        -ext: file, to read external data from ( /dev/null default )
        -smime: set to indicate that input is S/MIME-message
        -text: file, to write textual representation 
			of PKCS#7/CMS SignedData to ( /dev/null default )
        -certs: file, to write signer certificate to 
			( PEM format, /dev/null default )


To verify smime message and print textual representation of signature:
        pki_tool -cmd vfy -in smime.msg -smime -text -

To verify dava validation certificate:
        pki_tool -cmd vfy -in dvc.cert -dvc
Пример 1: 
pki_tool -cmd vfy -in signed_data.p7m
[ OK ] [ vfy ] [ CN=АДМИНИСТРАТОР,OU=Демонстрационный PKI 
	проект,O=XXXXXX,L=МОСКВА,ST=MSK,C=RU ] [ 100 ]
Последняя группа содержит статус проверки подписи: 
0 - проверка не произведена; 
1 - не найден сертификат автора; 
2 - ошибка вычисления digest от сообщения; 
3 - подпись не верна; 
4 - не удалось проверить сертификат автора (при этом подпись математически верна); 
100 - подпись верна, сертификат проверен. 
Пример 2: 
pki_tool -cmd vfy -in cert.dvc -dvc

[ OK ] [ vfy ] [ CN=DATA VALIDATION AND CERTIFICATION SERVICE,
	OU=Certificate Authority and Services,O=XXXXX,
	L=MOSCOW,ST=MSK,C=RU ] [ 100 ]
[ OK ] [ vfy ] [ dvc ] [ 0 ]
Статус по протоколу DVC: 
0 - подпись верна 
2 - запрос отклонен - подпись не верна 
3 - запрос находится в обработке (необходимо повторное обращение) 
В случае ошибочного завершения какой либо из команд выполняется exit(-1) и в STDOUT выводится сообщение: 
[ ER ] [   ] [ XXX ] [ XXX]

, а в STDERR выводится подробная диагностика ошибочной ситуации. Формирование и отправка OCSP-запросов: Допустимые опции:

  • -cert file: файл, содержащий сертификат в формате DER, статус которого проверяется. Обязательная опция.
  • -issuer file: файл, содержащий сертификат издателя в формате DER. Обязательная опция.
  • -reqout file: файл, в который сохраняется OCSP-запрос.
  • -respout file: файл, в который сохраняется OCSP-ответ.
  • -url URL: URL для обращения к сервису OCSP. Обязательная опция.
  • -host hostname: DNS-имя для обращения к сервису OCSP. Обязательная опция.
  • -port port: номер порта для обращения к сервису OCSP. По умолчанию происходит соединение по порту 80.

Пример использования: 
cmd_line# pki_tool -cert cert.der -issuer issuer.der 
	-host host.domain -url /cgi-bin/ocsp.cgi -port 82 
	-reqout request.asn -respout response.asn
[ OK ] [ ocsp ] [ Response successful: certificate status good ]

Взаимодействие с сервисом OCSP

PKI tool:  command

        -cert: certificate to check in DER format (required)
        -issuer: issuer certificate in DER format (required)
        -reqout: write OCSP request in file
        -respout: write OCSP response in file
        -url: URL (starting from server DocumentRoot) (required)
        -port: port (default 80)
        -host: DNS-name (required)

Пример:

	pki_tool –cmd ocsp –cert cert.der –issuer issuer.der –reqout request.orq \
		–respout response.ors –host host.domain –url /cgi-bin/ocsp.cgi
	[ OK ] [ ocsp ] [ Response successful: certificate status good ]

Взаимодействие с сервисом TSP

PKI tool:  command

        -in: data file to be timestamped (required to build request)
        -req: file to write/read request (/dev/null default)
        -tsp: file to write response (stdout default)
        -url: URL (starting from server DocumentRoot)
        -port: port (80 default)
        -host: DNS-name
        -tls: indicates TLS-connection

Пример:

	pki_tool –cmd tsp –in some.file –req request.tsq –tsp response.tsr \
		–host host.domain –url /cgi-bin/tsp.cgi
	[ OK ] [ tsp ] [ Time Stamp Response received ]

В случае ошибочного завершения какой либо из команд выполняется exit(-1) и в STDOUT выводится сообщение:

[ ER ] [   ] [ XXX ] [ XXX]

, а в STDERR выводится подробная диагностика ошибочной ситуации.


PKI_TOOL
Клиентское программное обеспечение
на технологии инфраструктуры открытых ключей
© 2005-2012
LLC Top Cross
All Rights Reserved
 
 поиск
Google

 Цифровой Секретарь
клиентское программное обеспечение

на технологиях открытых ключей