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.
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 chiffrement Aria-192
- 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_. Les
options no_* ne fonctionnent pas avec les commandes s_time
et ciphers mais fonctionnent avec les commandes s_client et
s_server.
- -dtls, -dtls1,
-dtls1_2
- Ces options spécifient l'utilisation de DTLS à la place de
LTS. 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 si
OpenSSL a été construit sans prise en charge du suivi.
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.
- HTTP
- HTTP client diagnostics
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-2023 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
<nicolas.francois@centraliens.net>, David Prévot
<david@tilapin.org> et Jean-Pierre Giraud
<jean-pierregiraud@neuf.fr>
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 à
debian-l10n-french@lists.debian.org.