Command-line tool for using the OpenSSL crypto library
openssl command [command_opts] [command_args]
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 [arbitrary_options]
QNX Neutrino
None.
OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer
(SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and
related cryptography standards that they require.
The openssl program is a command-line tool for using the
various cryptography functions of OpenSSL's crypto library from the shell.
You can use it for the following:
- creation and management of private keys, public keys and parameters
- public key cryptographic operations
- creation of X.509 certificates, CSRs and CRLs
- calculation of Message Digests
- encryption and Decryption with Ciphers
- SSL/TLS Client and Server Tests
- handling of S/MIME signed or encrypted mail
- timestamp requests, generation and verification
The openssl program provides a rich variety of commands
(command in the synopsis above), each of which often has a
wealth of options and arguments (command_opts and
command_args).
The pseudo-commands list-standard-commands,
list-message-digest-commands, and list-cipher-commands
output a list (one entry per line) of
the names of all standard commands, message digest commands, or cipher
commands, respectively, that are available in the present openssl
utility.
The pseudo-commands list-cipher-algorithms and
list-message-digest-algorithms list all cipher and message digest
names, one entry per line.
Aliases are listed as:
from => to
The pseudo-command list-public-key-algorithms lists all supported
public key algorithms.
The pseudo-command no-cmd tests whether a command of
the specified name is available.
If no command named cmd exists, openssl returns 0
(success) and prints no-cmd;
otherwise it returns 1 and prints cmd.
In both cases, the output goes to stdout, and nothing is printed
to stderr.
Additional command-line arguments are always ignored.
Since for each cipher there's a command of the same name, this provides
an easy way
for shell scripts to test for the availability of ciphers in the
openssl program.
(The no-cmd can't detect pseudo-commands such as
quit, list-...-commands, or no-cmd
itself.)
- asn1parse
- Parse an ASN.1 sequence.
- ca
- Certificate Authority (CA) Management.
- ciphers
- Cipher Suite Description Determination.
- crl
- Certificate Revocation List (CRL) Management.
- crl2pkcs7
- CRL to PKCS#7 Conversion.
- dgst
- Message Digest Calculation.
- dh
- Diffie-Hellman Parameter Management; rendered obsolete by
dhparam.
- dsa
- DSA Data Management.
- dsaparam
- DSA Parameter Generation and Management.
Superseded by genpkey and pkeyparam.
- enc
- Encoding with Ciphers.
- errstr
- Error Number to Error String Conversion.
- dhparam
- Generation and Management of Diffie-Hellman Parameters.
Superseded by genpkey and pkeyparam.
- gendh
- Generation of Diffie-Hellman Parameters; rendered obsolete by
dhparam.
- gendsa
- Generation of DSA Private Key from Parameters. Superseded by
genpkey and pkey.
- genpkey
- Generation of Private Key or Parameters.
- genrsa
- Generation of RSA Private Key.
Superseded by genpkey.
- ocsp
- Online Certificate Status Protocol utility.
- passwd
- Generation of hashed passwords.
- pkcs12
- PKCS#12 Data Management.
- pkcs7
- PKCS#7 Data Management.
- pkey
- Public and private key management.
- pkeyutl
- Public key algorithm cryptographic operation utility.
- pkeyparam
- Public key algorithm parameter management.
- rand
- Generate pseudo-random bytes.
- req
- PKCS#10 X.509 Certificate Signing Request (CSR) Management.
- rsa
- RSA key management.
- rsautl
- RSA utility for signing, verification, encryption, and decryption.
Superseded by pkeyutl.
- s_client
- This implements a generic SSL/TLS client that can establish
a transparent connection to a remote server speaking SSL/TLS.
It's intended for testing purposes only and provides only
rudimentary interface functionality but internally uses
mostly all functionality of the OpenSSL ssl library.
- s_server
- This implements a generic SSL/TLS server that accepts connections
from remote clients speaking SSL/TLS.
It's intended for testing purposes only and provides only rudimentary
interface functionality but internally uses mostly all functionality
of the OpenSSL ssl library.
It provides both its own command-line-oriented protocol for testing
SSL functions and a simple HTTP response facility to emulate an
SSL/TLS-aware webserver.
- s_time
- SSL Connection Timer.
- sess_id
- SSL Session Data Management.
- smime
- S/MIME mail processing.
- speed
- Algorithm Speed Measurement.
- ts
- Time Stamping Authority tool (client/server).
- verify
- X.509 Certificate Verification.
- version
- OpenSSL Version Information.
- x509
- X.509 Certificate Data Management.
- md2
- MD2 Digest.
- md5
- MD5 Digest.
- mdc2
- MDC2 Digest.
- rmd160
- RMD-160 Digest.
- sha
- SHA Digest.
- sha1
- SHA-1 Digest.
- sha224
- SHA-224 Digest.
- sha256
- SHA-256 Digest.
- sha384
- SHA-384 Digest.
- sha512
- SHA-512 Digest.
- base64
- Base64 Encoding.
- bf, bf-cbc, bf-cfb, bf-ecb,
bf-ofb
- Blowfish Cipher.
- cast, cast-cbc
- CAST Cipher.
- cast5-cbc, cast5-cfb, cast5-ecb,
cast5-ofb
- CAST5 Cipher.
- des, des-cbc, des-cfb, des-ecb,
des-ede, des-ede-cbc, des-ede-cfb,
des-ede-ofb, des-ofb
- DES Cipher.
- des3, desx, des-ede3,
des-ede3-cbc, des-ede3-cfb, des-ede3-ofb
- Triple-DES Cipher.
- idea, idea-cbc, idea-cfb,
idea-ecb, idea-ofb
- IDEA Cipher.
- rc2, rc2-cbc, rc2-cfb,
rc2-ecb, rc2-ofb
- RC2 Cipher.
- rc4
- RC4 Cipher.
- rc5, rc5-cbc, rc5-cfb,
rc5-ecb, rc5-ofb
- RC5 Cipher.
Several commands accept password arguments, typically using
-passin and -passout for input and output passwords
respectively.
These allow the password to be obtained from a variety of sources.
Both of these options take a single argument whose format is described below.
If no password argument is given and a password is required, you're
prompted to enter one: this will typically be read from the current
terminal with echoing turned off.
- pass:password
- The actual password is password.
Since the password is visible to utilities, you should use this form
only where security isn't important.
- env:var
- Obtain the password from the environment variable var.
Since the environment of other processes is visible on certain
platforms, you should use this option with caution.
- file:pathname
- The first line of pathname is the password.
If you supply the same pathname argument to -passin
and -passout arguments, the first line is used for the input
password, and the next line for the output password.
The pathname need not refer to a regular file; it could,
for example, refer to a device or named pipe.
- fd:number
- Read the password from the given file descriptor number.
You can use this, for example, to send the data via a pipe.
- stdin
- Read the password from standard input.
- 0
- Success.
- 1
- An error occurred.