| ||||||
|
Утилита командной строки 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
Описание команд.Преобразование текста в 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: Устанавливаются криптографические параметры. -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 ][ АДМИНИСТРАТОР ]
Примечание: сообщение об ошибке при импорте приватного ключа возможно в следующих ситуациях:
Выработка ЭЦП
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-запросов: Допустимые опции:
Пример использования: 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 ] Взаимодействие с сервисом OCSPPKI tool: Взаимодействие с сервисом TSPPKI tool: В случае ошибочного завершения какой либо из команд выполняется exit(-1) и в STDOUT выводится сообщение: [ ER ] [ , а в STDERR выводится подробная диагностика ошибочной ситуации.
|
|
|||||||||||||||||||