openssl - Programme en ligne de commande d'OpenSSL
openssl command [
options ... ] [
paramètres
... ]
openssl no-XXX [
options ]
OpenSSL est une boîte à outils cryptographique qui
implémente les protocoles réseau Secure Sockets Layer (SSL
v2/v3, couche de sockets sécurisée) et Transport Layer Security
(TLS v1, sécurité pour la couche de transport) ainsi que les
normes cryptographiques liées dont ils ont besoin.
Le programme
openssl est un programme en ligne de commande qui permet
d'utiliser les différentes fonctions cryptographiques de la
bibliothèque
crypto d'OpenSSL à partir de l’invite
de commande. Il peut être utilisé pour :
o la création et gestion de clefs publiques et privées, de paramètres ;
o les opérations cryptographiques à clef publique ; o la création de
certificats X.509, CSR et CRL ; o le calcul de condensés de messages et
de codes d'authentification de message ; o le chiffrement et le
déchiffrement ; o le test de clients et serveurs SSL/TLS ; o la
gestion de courriers S/MIME signés ou chiffrés ; o les requêtes, création
et vérification d'horodatages.
Le programme
openssl fournit une variété de commandes
(
commande dans le "SYNOPSIS" ci-dessus). Chaque commande
possède de multiples options et paramètres d'arguments,
affichés ci-dessus comme
options et
paramètres.
Une documentation détaillée et des exemples d'utilisation des
sous-commandes les plus courantes sont disponibles (par exemple,
x509(1). La sous-commande
openssl-list(1) peut être
utiliser pour lister les sous-commandes.
La commande
no-XXX évalue si une commande du nom
spécifié est disponible. Si aucune commande
XXX n'existe,
elle renvoie
0 (succès) et affiche
no-XXX ;
sinon, elle renvoie
1 et affiche
XXX. Dans les deux cas, la
sortie est dirigée vers la
sortie standard et rien n'est
affiché sur le
flux d'erreur standard. Les paramètres
supplémentaires en ligne de commande sont toujours ignorés. Dans
la mesure où il y a pour chaque chiffrement une commande du même
nom, cela fournit un moyen facile pour les scripts d'interpréteur de
commandes de tester la disponibilité de chiffrements dans le programme
openssl (
no-XXX ne peut pas détecter les
pseudo-commandes telles que
quit,
list ou
no-XXX
elle-même).
De nombreuses commandes utilisent un fichier de configuration externe pour
certains ou tous leurs paramètres et disposent d'une option
-config pour indiquer ce fichier. Le nom par défaut du fichier
est
openssl.cnf dans la zone de stockage des certificats par
défaut, qui peut être déterminé par la commande
openssl-version(1) avec les options
-d ou
-a. La variable
d'environnement
OPENSSL_CONF peut être utilisée pour
indiquer un emplacement différent de ce fichier ou pour
désactiver le chargement d'une configuration (avec une chaîne
vide).
Entre autres choses, le fichier de configuration peut être utilisé
pour charger des modules et pour spécifier des paramètres pour
la génération de certificats et de nombres aléatoires.
Consultez
config(5) pour plus de détails.
- asn1parse
- Traitement d'une séquence ASN.1.
- ca
- Gestion de l'Autorité de Certification (CA).
- ciphers
- Détermination de la description des suites de
chiffrements.
- cms
- Commande CMS (« Cryptographic Message
Syntax »).
- crl
- Gestion des listes de révocations de certificat
(CRL).
- crl2pkcs7
- Conversion CRL vers PKCS#7.
- dgst
- Calcul de condensés de message. Les calculs MAC ont
été remplacés par openssl-mac(1).
- dhparam
- Production et gestion de paramètres Diffie-Hellman.
Remplacé par openssl-genpkey(1) et
openssl-pkeyparam(1).
- dsa
- Gestion de données DSA.
- dsaparam
- Production et gestion de paramètres DSA .
Remplacé par openssl-genpkey(1) et
openssl-pkeyparam(1).
- ec
- Traitement de clefs EC (courbe elliptique) EC.
- ecparam
- Manipulation et génération de
paramètre EC.
- enc
- Chiffrement, déchiffrement et encodage.
- engine
- Renseignements et manipulation de moteur (module
chargeable).
- errstr
- Conversion de numéro d'erreur vers un descriptif
textuel.
- fipsinstall
- Installation de la configuration de FIPS
- gendsa
- Production de clef privée DSAà partir de
paramètres. Remplacé par openssl-genpkey(1) et
openssl-pkey(1).
- genpkey
- Production de clef privée ou de
paramètres.
- genrsa
- Production de clef privée RSA. Remplacé par
openssl-genpkey(1).
- help
- Afficher des informations sur des options de commande.
- info
- Afficher diverses informations ajoutées dans les
bibliothèques d'OpenSSL.
- kdf
- Fonctions de dérivation de clé.
- list
- Liste des algorithmes et des fonctionnalités.
- mac
- Calcul du code d'authentification de message.
- nseq
- Créer ou examiner une séquence de certificats
Netscape.
- ocsp
- Commande pour le protocole de vérification en ligne
de certificats.
- passwd
- Production de mots de passe hachés.
- pkcs12
- Gestion de données PKCS#12.
- pkcs7
- Gestion de données PKCS#7.
- pkcs8
- Commande de conversion de clef privée de format
PKCS#8.
- pkey
- Gestion de clefs publiques et privées.
- pkeyparam
- Gestion de paramètres d'algorithme à clef
publique.
- pkeyutl
- Commande d'opérations cryptographiques d'algorithme
à clef publique.
- prime
- Calcul de nombres premiers.
- rand
- Production d'octets pseudoaléatoires.
- rehash
- Création de lien symboliques vers les fichiers de
certificats et CRL nommés selon les valeurs de hachage.
- req
- Gestion des demandes de chiffrement de certificats X.509
PKCS#10 (CSR).
- rsa
- Gestion de clefs RSA.
- rsautl
- Commande RSA pour signer, vérifier, chiffrer et
déchiffrer. Remplacé par openssl-pkeyutl(1).
- s_client
- Cela fournit un client SSL/TLS générique qui
peut établir une connexion transparente avec un serveur distant
parlant SSL/TLS. Étant seulement prévu pour du test, il
n'offre qu'une interface fonctionnelle rudimentaire tout en utilisant en
interne la quasi-totalité des fonctionnalités de la
bibliothèque ssl d'OpenSSL.
- s_server
- Cela fournit un serveur SSL/TLS générique qui
accepte les connexions à partir de clients distants parlant
SSL/TLS. Étant seulement prévu pour du test, il n'offre
qu'une interface fonctionnelle rudimentaire tout en utilisant en interne
la quasi-totalité des fonctionnalités de la
bibliothèque ssl d'OpenSSL. Il fournit à la fois son
propre protocole orienté ligne de commande pour tester les
fonctions SSL et une fonction simple de réponse HTTP pour
émuler un serveur web à l'écoute de SSL/TLS.
- s_time
- Minuterie de connexion SSL.
- sess_id
- Gestion de données de session SSL.
- smime
- Traitement de courriers S/MIME.
- speed
- Mesure la vitesse de l'algorithme.
- spkac
- Commande d'affichage et de génération de
SPKAC.
- srp
- Entretien du fichier de mot de passe SRP. Cette commande
est obsolète
- storeutl
- Commande pour lister et afficher les certificats, clefs,
CRL, etc.
- ts
- Commande d'autorité de certification
d'horodatage.
- verify
- Vérification de certificat X.509. Consultez aussi la
page de manuel openssl-verification-options(1)
- version
- Information sur la version d'OpenSSL.
- x509
- Gestion de données pour les certificats X.509.
- blake2b512
- Condensé BLAKE2b-512
- blake2s256
- Condensé BLAKE2s-256
- md2
- Condensé MD2
- md4
- Condensé MD4
- md5
- Condensé MD5
- mdc2
- Condensé MDC2
- rmd160
- Condensé RMD-160
- sha1
- Condensé SHA-1
- sha224
- Condensé SHA-2 224
- sha256
- Condensé SHA-2 256
- sha384
- Condensé SHA-2 384
- sha512
- Condensé SHA-2 512
- sha3-224
- Condensé SHA-3 224
- sha3-256
- Condensé SHA-3 256
- sha3-384
- Condensé SHA-3 384
- sha3-512
- Condensé SHA-3 512
- shake128
- Condensé SHA-3 SHAKE128
- shake256
- Condensé SHA-3 SHAKE256
- sm3
- Condensé SM3
Les alias suivant fournissent un accès pratique aux encodages et
chiffrements les plus courants.
Selon la manière dont OpenSSL a été configuré et
construit, tous les chiffrements listés ici peuvent ne pas être
présents. Consultez
openssl-enc(1) pour plus
d’informations.
-
aes128, aes-128-cbc, aes-128-cfb,
aes-128-ctr, aes-128-ecb, aes-128-ofb
- Algorithme de chiffrement AES-128
-
aes192, aes-192-cbc, aes-192-cfb,
aes-192-ctr, aes-192-ecb, aes-192-ofb
- Algorithme de chiffrement AES-192
-
aes256, aes-256-cbc, aes-256-cfb,
aes-256-ctr, aes-256-ecb, aes-256-ofb
- Algorithme de chiffrement AES-256
-
aria128, aria-128-cbc, aria-128-cfb,
aria-128-ctr, aria-128-ecb, aria-128-ofb
- Algorithme de chiffrement Aria-128
-
aria192, aria-192-cbc, aria-192-cfb,
aria-192-ctr, aria-192-ecb, aria-192-ofb
- Algorithme de chiffremen Aria-192t
-
aria256, aria-256-cbc, aria-256-cfb,
aria-256-ctr, aria-256-ecb, aria-256-ofb
- Algorithme de chiffrement Aria-256
- base64
- Encodage base64
-
bf, bf-cbc, bf-cfb, bf-ecb,
bf-ofb
- Algorithme de chiffrement Blowfish
-
camellia128, camellia-128-cbc,
camellia-128-cfb, camellia-128-ctr, camellia-128-ecb,
camellia-128-ofb
- Algorithme de chiffrement Camellia-128
-
camellia192, camellia-192-cbc,
camellia-192-cfb, camellia-192-ctr, camellia-192-ecb,
camellia-192-ofb
- Algorithme de chiffrement Camellia-192
-
camellia256, camellia-256-cbc,
camellia-256-cfb, camellia-256-ctr, camellia-256-ecb,
camellia-256-ofb
- Algorithme de chiffrement Camellia-256
-
cast, cast-cbc
- Algorithme de chiffrement CAST
-
cast5-cbc, cast5-cfb, cast5-ecb,
cast5-ofb
- Algorithme de chiffrement CAST5
- chacha20
- Algorithme de chiffrement chacha20
-
des, des-cbc, des-cfb, des-ecb,
des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb,
des-ofb
- Algorithme de chiffrement DES
-
des3, desx, des-ede3,
des-ede3-cbc, des-ede3-cfb, des-ede3-ofb
- Algorithme de chiffrement Triple-DES
-
idea, idea-cbc, idea-cfb,
idea-ecb, idea-ofb
- Algorithme de chiffrement IDEA
-
rc2, rc2-cbc, rc2-cfb, rc2-ecb,
rc2-ofb
- Algorithme de chiffrement RC2
- rc4
- Algorithme de chiffrement RC4 Cipher
-
rc5, rc5-cbc, rc5-cfb, rc5-ecb,
rc5-ofb
- Algorithme de chiffrement RC5
-
seed, seed-cbc, seed-cfb,
seed-ecb, seed-ofb
- Algorithme de chiffrement SEED
-
sm4, sm4-cbc, sm4-cfb, sm4-ctr,
sm4-ecb, sm4-ofb
- Algorithme de chiffrement SM4
Le détail des options qui sont disponibles dépend de chaque
commande. Cette section décrit certaines des options courantes avec
leur comportement courant.
- -help
- Fournit un résumé succinct de toutes les
options. Si une option demande un paramètre, le "type" du
paramètre est aussi donné.
- --
- Cela clôture la liste des options. C'est surtout
utile si des paramètres de nom de fichier commencent par un signe
moins :
openssl verify [attributs...] -- -cert1.pem...
Consultez la page de manuel
openssl-format-options(1).
Consultez la page de manuel
openssl-passphrase-options(1).
Avant OpenSSL 1.1.1, il était courant que des applications conservent les
informations sur l'état du générateur de nombres
aléatoires dans un fichier qui était chargé au
démarrage et réécrit lors de la sortie. Dans les
systèmes d'exploitation modernes, ce n'est plus nécessaire dans
la mesure où OpenSSL génère une amorce lui-même
à partir d'une source d'entropie fournie par le système
d'exploitation. Ces attributs sont encore pris en charge pour des plateformes
ou des circonstances particulières qui pourraient en avoir besoin.
C'est généralement une erreur d'utiliser le même fichier
d'amorce plus d'une fois et chaque utilisation de
rand devrait
être associée à celle de
-writerand.
-
-rand fichiers
- Un fichier ou des fichiers contenant des données
aléatoires utilisées pour amorcer le
générateur de nombres aléatoires. Plusieurs fichiers
peuvent être indiqués séparés par un
caractère dépendant du système d'exploitation. Le
séparateur est ";" pour MS-Windows, "," pour
OpenVMS et ":" pour tous les autres. Une autre manière
d'indiquer plusieurs fichiers est de répéter cet attribut
avec plusieurs noms de fichier.
-
-writerand fichier
- Écrit les données d'amorce dans le
fichier spécifié lors de la sortie. Ce fichier peut
être utilisé lors d'une invocation ultérieure de la
commande.
Consultez la page de manuel
openssl-verification-options(1).
Consultez la page de manuel
openssl-namedisplay-options(1).
Plusieurs commandes utilisent SSL, TLS, ou DTLS. Par défaut, les
commandes utilisent TLS et les clients offriront la version la plus basse et
la plus élevée du protocole qu'ils prennent en charge, et les
serveurs prendront la valeur la plus élevée que le client offre
et qui est aussi prise en charge par le serveur.
Les versions ci-dessous peuvent servir à limiter les versions du
protocole utilisées, et soit TCP (SSL et TLS) soit UDP (DTLS) est
utilisé. Notez que les protocoles et les attributs peuvent ne pas
être disponibles, selon la manière dont OpenSSL a
été construit.
-
-ssl3, -tls1, -tls1_1, -tls1_2,
-tls1_3, -no_ssl3, -no_tls1, -no_tls1_1,
-no_tls1_2, -no_tls1_3
- Ces options requièrent ou désactivent
l'utilisation des protocoles SSL ou TLS. Quand une version
particulière de TLS est requise, seule cette version sera offerte
ou acceptée. Un seul protocole particulier peut être
indiqué et il ne peut être combiné à aucune
des options no_.
-
-dtls, -dtls1, -dtls1_2
- Ces options spécifient l'utilisation de DTLS
à la place de DLTS. Avec -dtls, les clients
négocieront avec n'importe quelle version du protocole DTLS prise
en charge. Utiliser les options -dtls1 ou -dtls1_2 pour ne
prendre en charge que DTLS1.0 ou DTLS1.2, respectivement.
-
-engine id
- Charger le moteur identifié par id et
utiliser toutes les méthodes qu'il met en œuvre
(algorithmes, stockage de clés, etc.), à moins qu'il
ne soit spécifié autre chose dans la documentation
spécifique à la commande ou s'il est configuré pour
faire ainsi comme cela est décrit dans "Configuration du
moteur" dans config(5).
Le moteur sera utilisé pour les identifiants de clé
spécifiés avec -key et les options similaires quand
une option telle que -keyform engine est passée.
Le moteur "loader_attic" est un cas particulier. Il est
destiné uniquement aux fins de tests internes d'OpenSSL et
gère le chargement de clés, de paramètres, de
certificats et de CRL à partir de fichiers. Quand ce moteur est
utilisé, les fichiers avec ce type d'identifiants sont lus avec ce
moteur. Utiliser le schéma "file:" est
facultatif ; un nom de fichier (chemin) fonctionnera.
Les options indiquant des clés, telles que
-key et d'autres
semblables, peuvent utiliser la clé générique du moteur
OpenSSL chargeant le schéma d'URI "org.openssl.engine:" pour
récupérer les clés privées et les clés
publiques. La syntaxe de l'URI est comme suit, dans une forme
simplifiée :
org.openssl.engine:{engineid}:{keyid}
Où "{engineid}" est l'identité ou le nom du moteur et
"{keyid}" est un identifiant de clé acceptable pour ce
moteur. Par exemple, lors de l'utilisation d'un moteur qui s'interface
à une implémentation de PKCS#11, l'URI de clé
générique peut être quelque chose comme cela (il se
trouve que c'est un exemple pour le moteur PKCS#11 qui fait partie de
OpenSC) :
-key org.openssl.engine:pkcs11:label_une-clé-privée
Une troisième possibilité, pour les moteurs et les fournisseurs (
provider) qui ont implémenté leur propre
OSSL_STORE_LOADER(3), "org.openssl.engine:" ne devrait pas
être nécessaire. Pour une implémentation de PKCS#11 qui a
mis en œuvre un chargeur de ce type, il devrait être possible
d'utiliser directement l'URI de PKCS#11 telle que défini dans
RFC 7512 :
-key pkcs11:object=une-clé-privée;pin-value=1234
-
-provider nom
- Charger et initialiser le fournisseur identifié par
nom. Le nom peut être aussi un chemin vers le module
du fournisseur. Dans ce cas, le nom du fournisseur sera le chemin
spécifié et pas seulement le nom du module dufournisseur.
L'interprétation des chemins relatifs est spécifique
à la plateforme. Le chemin "MODULESDIR" configuré,
la variable d'environnement OPENSSL_MODULES ou le chemin
indiqué par -provider-path est ajouté au début
des chemins relatifs. Consultez provider(7) pour une description
plus détaillée.
-
-provider-path chemin
- Spécifie le chemin de recherche qui sera
utilisé pour rechercher des fournisseurs. De façon
équivalente, la variable d'environnement OPENSSL_MODULES
peut être définie.
-
-propquery propq
- Spécifie la clause de requête de
propriété à utiliser lors de la recherche
d'algorithmes à partir des fournisseurs chargés. Consultez
property(7) pour une description plus détaillée.
La bibliothèque OpenSSL peut récupérer certains
paramètres de configuration à partir de l'environnement.
Certaines de ces variables sont listées plus loin. Pour des
informations sur des commandes particulières, voir
openssl-engine(1),
openssl-rehash(1) et
tsget(1).
Pour des informations sur l'utilisation de variables d'environnement dans la
configuration, consultez "ENVIRONMENT" dans
config(5).
Pour des informations sur la requête ou la spécification
d'attributs d'architecture du CPU, consultez
OPENSSL_ia32cap(3) et
OPENSSL_s390xcap(3).
Pour des informations sur toutes les variables d'environnement utilisées
par les bibliothèques d'OpenSSL, consultez
openssl-env(7).
-
OPENSSL_TRACE=nom[,...]
- Activer le suivi de la sortie de la bibliothèque
OpenSSL, par nom. Cette sortie n'a de sens que si vous connaissez bien les
fonctions internes d'OpenSSL. Aussi, cela pourrait ne vous donner aucune
sortie, selon la manière dont OpenSSL a été
construit.
La valeur est une liste de noms séparés par des virgules dont
les suivants sont disponibles :
- TRACE
- Suit l'API de suivi d'OpenSSL elle-même.
- INIT
- Suit l'initialisation et le nettoyage de la
bibliothèque OpenSSL.
- TLS
- Suit le protocole TLS/SSL.
- TLS_CIPHER
- Suit les chiffrements utilisés par le protocole
TLS/SSL.
- CONF
- Montre des détails sur la configuration du
fournisseur et du moteur.
- ENGINE_TABLE
- La fonction qui est utilisée par le code de RSA,
DSA, etc., pour sélectionner les moteurs (ENGINE)
enregistrés, les caches par défaut et les
références fonctionnelles, etc.,
générera des résumés de débogage.
- ENGINE_REF_COUNT
- Les comptes de référence dans la structure
ENGINE seront suivis avec une ligne générée à
chaque modification.
- PKCS5V2
- Suit la génération de clés
PKCS#5 v2.
- PKCS12_KEYGEN
- Suit la génération de clés
PKCS#12.
- PKCS12_DECRYPT
- Suit le déchiffrement PKCS#12.
- X509V3_POLICY
- Générer l'arbre de politiques complet
à divers points durant l'évaluation de la politique de
X.509 v3.
- BN_CTX
- Suit les opérations de contexte BIGNUM.
- CMP
- Suit l'activité de client et de serveur CMP.
- STORE
- Suit les opérations STORE.
- DECODER
- Suit les opérations de décodeur.
- ENCODER
- Suit les opérations d'encodeur.
- REF_COUNT
- Suit la décrémentation de certaines
références de structure ASN.1.
openssl-asn1parse(1),
openssl-ca(1),
openssl-ciphers(1),
openssl-cms(1),
openssl-crl(1),
openssl-crl2pkcs7(1),
openssl-dgst(1),
openssl-dhparam(1),
openssl-dsa(1),
openssl-dsaparam(1),
openssl-ec(1),
openssl-ecparam(1),
openssl-enc(1),
openssl-engine(1),
openssl-errstr(1),
openssl-gendsa(1),
openssl-genpkey(1),
openssl-genrsa(1),
openssl-kdf(1),
openssl-list(1),
openssl-mac(1),
openssl-nseq(1),
openssl-ocsp(1),
openssl-passwd(1),
openssl-pkcs12(1),
openssl-pkcs7(1),
openssl-pkcs8(1),
openssl-pkey(1),
openssl-pkeyparam(1),
openssl-pkeyutl(1),
openssl-prime(1),
openssl-rand(1),
openssl-rehash(1),
openssl-req(1),
openssl-rsa(1),
openssl-rsautl(1),
openssl-s_client(1),
openssl-s_server(1),
openssl-s_time(1),
openssl-sess_id(1),
openssl-smime(1),
openssl-speed(1),
openssl-spkac(1),
openssl-srp(1),
openssl-storeutl(1),
openssl-ts(1),
openssl-verify(1),
openssl-version(1),
openssl-x509(1),
config(5),
crypto(7),
openssl-env(7).
ssl(7),
x509v3_config(5)
Les options
list -
XXX-algorithms ont été
ajoutées dans la version 1.0.0 d'OpenSSL. Pour des informations
sur la disponibilité des autres commandes, consultez les pages de
manuel correspondantes.
L'option
-issuer_checks est obsolète depuis OpenSSL 1.1.0
et est ignorée silencieusement.
Les options
-xcertform et
-xkeyform sont obsolètes depuis
OpenSSL 3.0 et n'ont pas d'effet.
Le mode interactif qui pouvait être invoqué en exécutant la
commande "openssl" sans paramètre supplémentaire a
été retiré dans OpenSSL 3.0, et l'exécution
de ce programme sans paramètre est maintenant équivalente
à "openssl help".
Copyright 2000-2022 Les auteurs du projet OpenSSL. Tous droits
réservés.
Sous licence Apache 2.0 (la "Licence"). Vous ne pouvez utiliser ce
fichier que conformément avec la Licence. Vous trouverez une copie dans
le fichier LICENSE de la distribution du source ou à l'adresse
<
https://www.openssl.org/source/license.html>.
La traduction française de cette page de manuel a été
créée par stolck, Nicolas François
<
[email protected]>, David Prévot
<
[email protected]> et Jean-Pierre Giraud
<
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]