openssl
Инструмент командной строки
для использования криптографической библиотеки OpenSSL
Синтаксис:
openssl команда [опции_команды]
[аргументы_команды]
openssl
[list-standard-commands |
list-message-digest-commands |
list-cipher-commands |
list-cipher-algorithms |
list-message-digest-algorithms |
list-public-key-algorithms]
openssl no-cmd [произвольные_опции]
Поддерживаемые платформы:
QNX Neutrino
Опции:
Нет.
Описание:
OpenSSL представляет собой
криптографический инструментарий, реализующий сетевые
протоколы Secure Sockets Layer (уровень защищенных сокетов)
(SSL v2/v3) и Transport Layer Security (безопасность на
транспортном уровне) (TLS v1) и соответствующие
криптографические стандарты.
Программа openssl является инструментом
командной строки для использования различных
криптографических функций криптографической библиотеки
OpenSSL из командного интерпретатора. Возможности
применения:
-
создание и управление секретными ключами,
открытыми ключами и параметрами;
-
криптографические операции с открытым
ключом;
-
создание сертификатов X.509, CSR и CRL;
-
вычисление профилей сообщения;
-
шифрование и дешифрование при помощи
алгоритмов шифрования;
-
проверки клиента и сервера SSL/TLS;
-
обработка подписанной и зашифрованной
протоколом S/MIME электронной почты;
-
создание и проверка запросов меток времени.
Обзор команд
Программа openssl предоставляет большое
разнообразие команд (см. команда в обзоре выше), каждая из
которых изобилует опциями и агрументами (опции_команды и аргументы_команды).
Псевдокоманды list-standard-commands, list-message-digest-commands и list-cipher-commands выводят список (одна запись
на строку) имен всех стандартных команд, команд профилей
сообщений или команд шифрования соответственно, которые
предусмотрены в текущей версии утилиты openssl.
Псевдокоманды list-cipher-algorithms and list-message-digest-algorithms выводят список всех имен
алгоритмов шифрования и профилей сообщений, по одной записи
на строку. Списки псевдонимов выводятся следующим образом:
от => до
Псевдокоманда list-public-key-algorithms выводит списки всех
поддерживаемых алгоритмов открытого ключа.
Псевдокоманда no-команда проверяет доступность
команды с указанным именем. Если команда с именем команда не существует, то утилита openssl выводит 0 (успешно) и no-команда; в противном случае она
выводит 1 и команда. В обоих случаях, вывод
направляется в стандартный поток вывода stdout, а вывод в стандартный
поток ошибок stderr отсутствует. Дополнительные
аргументы командной строки всегда игнорируются. Поскольку
для каждого алгоритма предусмотрена команда с тем же именем,
существует простой способ проверки сценариями командного
интерпретатора доступности алгоритмов в программе openssl. (Псевдокоманда no-команда не может обнаружить
псевдокоманды, например quit, list-...-commands и саму no-команда.)
Стандартные
команды
asn1parse
Анализ последовательности
ASN.1.
ca
Управление центром
сертификации (Certificate Authority; CA).
ciphers
Определение описания набора
алгоритмов шифрования.
crl
Управление списком
аннулированных сертификатов (Certificate Revocation List;
CRL).
crl2pkcs7
Преобразование CRL в PKCS#7.
dgst
Вычисление профиля сообщения.
dh
Управление параметрами
алгоритма Диффи-Хеллмана; считается устаревшей в связи с
использованием dhparam.
dsa
Управление данными DSA.
dsaparam
Создание и управление
параметрами DSA. Заменена на genpkey и pkeyparam.
enc
Кодирование с помощью
алгоритмов шифрования.
errstr
Преобразование номера ошибки в
строку ошибки.
dhparam
Создание и управление
параметрами алгоритма Диффи-Хеллмана. Заменена на genpkey и pkeyparam.
gendh
Создание параметров алгоритма
Диффи-Хеллмана; считается устаревшей в связи с использованием
dhparam.
gendsa
Создание секретного ключа DSA
из параметров. Заменена на genpkey и pkey.
genpkey
Создание секретного ключа и
параметров.
genrsa
Создание секретного ключа RSA.
Заменена на genpkey.
ocsp
Протокол онлайн-проверки
статуса сертификата.
passwd
Создание хешированных паролей.
pkcs12
Управление данными PKCS#12.
pkcs7
Управление данными PKCS#7.
pkey
Управление открытыми и
секретными ключами.
pkeyutl
Утилита криптографических
алгоритмов открытого ключа.
pkeyparam
Управление параметрами
алгоритма открытого ключа.
rand
Создание псевдослучайных
байтов.
req
Управление запросом на подпись
сертификата (Certificate Signing Request; CSR) PKCS#10 X.509.
rsa
Управление ключами RSA.
rsautl
Утилита RSA для подписи,
проверки, шифрования и дешифрования. Заменена на pkeyutl.
s_client
Эта команда
реализует универсальный клиент SSL/TLS, который может
установить прозрачное соединение с удаленным сервером по
SSL/TLS. Она предназначена исключительно для тестирования и
предоставляет только простейшие функциональные возможности
интерфейса, но внутренне использует большую часть
функциональных возможностей библиотеки ssl OpenSSL.
s_server
Эта команда
реализует универсальный клиент SSL/TLS, который принимает
соединения от удаленных серверов по SSL/TLS. Она
предназначена исключительно для тестирования и предоставляет
только простейшие функциональные возможности интерфейса, но
внутренне использует большую часть функциональных
возможностей библиотеки ssl OpenSSL. Эта команда
предоставляет свой собственный ориентированный на командную
строку протокол для тестирования функций SSL, а также
простую функцию HTTP-отклика для эмуляции web-сервера с
поддержкой SSL/TLS.
s_time
Таймер соединения SSL.
sess_id
Управление данными сеанса SSL.
smime
Обработка почты S/MIME.
speed
Измерение скорости алгоритма.
ts
Инструмент полномочий метки
времени (клиент/сервер).
verify
Проверка сертификата X.509.
version
Информация о версии OpenSSL.
x509
Управление данными сертификата
X.509.
Команды профилей сообщений
md2
Алгоритм MD2.
md5
Алгоритм MD5.
mdc2
Алгоритм MDC2.
rmd160
Алгоритм RMD-160.
sha
Алгоритм SHA.
sha1
Алгоритм SHA-1.
sha224
Алгоритм SHA-224.
sha256
Алгоритм SHA-256.
sha384
Алгоритм SHA-384.
sha512
Алгоритм SHA-512.
Команды
кодирования и шифрования
base64
Кодирование Base64.
bf, bf-cbc, bf-cfb, bf-ecb, bf- ofb
Алгоритм Blowfish.
cast, cast-cbc
Алгоритм CAST.
cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb
Алгоритм CAST5.
des, des-cbc, des-cfb, des-ecb, des- ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des- ofb
Алгоритм DES.
des3, desx, des-ede3, des-ede3-cbc, des- ede3-cfb, des-ede3-ofb
Алгоритм Triple-DES.
idea, idea-cbc, idea-cfb, idea-ecb, idea- ofb
Алгоритм IDEA.
rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2- ofb
Алгоритм RC2.
rc4
Алгоритм RC4.
rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5- ofb
Алгоритм RC5.
Аргументы
пароля
Несколько команд принимают
аргументы пароля, как правило, с использованием -passin и -passout для паролей ввода и вывода
соответственно. Они позволяют получить пароль из множества
источников. Обе эти опции принимают единственный аргумент,
формат которого описан ниже. Если аргумент пароля не
предоставлен и требуется пароль, то выводится приглашение на
ввод пароля, который, как правило, будет считан из текущего
терминала с выключенным выводом.
pass:пароль
Фактический
пароль – пароль. Так как пароль является видимым для
утилит, эту форму следует использовать только в тех случаях,
когда безопасность не важна.
env:переменная
Получить пароль
от переменной среды переменная. Поскольку среда
других процессов является видимой на определенных
платформах, эту опцию следует использовать с осторожностью.
file:путевое_имя
Первая строка
значения путевое_имя является паролем. Если для
аргументов -passin и - passout указан один и тот же
аргумент путевое_имя, то первая строка
используется в качестве пароля ввода, а следующая строка – в
качестве пароля вывода. путевое_имя не обязательно должно
ссылаться на обычный файл; например, оно может ссылаться на
устройство или именованный канал.
fd:номер
Считывать пароль из заданного
номера дескриптора файла. Эту опцию можно использовать,
например, для передачи данных через канал.
stdin
Считывать пароль из
стандартного потока ввода.
Статус завершения:
0
Успешно.
1
Возникла ошибка.