Инструмент командной строки для использования криптографической библиотеки 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 из командного интерпретатора. Возможности применения:
- создание и управление секретными ключами, открытыми ключами и параметрами;
- криптографические операции с открытым ключом;
- создание сертификатов X.509, CSR и CRL;
- вычисление профилей сообщения;
- шифрование и дешифрование при помощи алгоритмов шифрования;
- проверки клиента и сервера SSL/TLS;
- обработка подписанной и зашифрованной протоколом S/MIME электронной почты;
- создание и проверка запросов меток времени.
Обзор команд
Программа 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
Предыдущий раздел: Утилиты