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 [произвольные_опции]

Опции:

Отсутствуют.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

OpenSSL представляет собой криптографический инструментарий, реализующий сетевые протоколы Secure Sockets Layer (уровень защищенных сокетов) (SSL v2/v3) и Transport Layer Security (безопасность на транспортном уровне) (TLS v1) и соответствующие криптографические стандарты.

Программа openssl является инструментом командной строки для использования различных криптографических функций криптографической библиотеки OpenSSL из командного интерпретатора. Возможности применения:

Обзор команд

Программа openssl предоставляет большое разнообразие команд (см. команда в обзоре выше), каждая из которых изобилует опциями и агрументами (опции_команды и аргументы_команды).

Псевдокоманды list-standard-commands, list-message-digest-commands и list-cipher-commands выводят список (одна запись на строку) имен всех стандартных команд, команд профилей сообщений или команд шифрования соответственно, которые предусмотрены в текущей версии утилиты openssl.

Псевдокоманды list-cipher-algorithms и 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
Возникла ошибка.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

В ЗОСРВ «Нейтрино» редакции 2020 инструмент обновлен до версии 1.0.2r




Предыдущий раздел: Утилиты