OPENSSL(1ssl) OpenSSL OPENSSL(1ssl)

openssl - Programme en ligne de commande d'OpenSSL

openssl command [ options ... ] [ paramètres ... ]

openssl no-XXX [ options ]

openssl -help | -version

OpenSSL est une boîte à outils cryptographique qui implémente les protocoles réseau Secure Sockets Layer (SSL, couche de sockets sécurisée) et Transport Layer Security (TLS, 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.

Traitement d'une séquence ASN.1.
Gestion de l'Autorité de Certification (CA).
Détermination de la description des suites de chiffrements.
Commande CMS (« Cryptographic Message Syntax »).
Gestion des listes de révocations de certificat (CRL).
Conversion CRL vers PKCS#7.
Calcul de condensés de message. Les calculs MAC ont été remplacés par openssl-mac(1).
Production et gestion de paramètres Diffie-Hellman. Remplacé par openssl-genpkey(1) et openssl-pkeyparam(1).
Gestion de données DSA.
Production et gestion de paramètres DSA. Remplacé par openssl-genpkey(1) et openssl-pkeyparam(1).
Traitement de clefs EC (courbe elliptique).
Manipulation et génération de paramètre EC.
Chiffrement, déchiffrement et encodage.
Renseignements et manipulation de moteur (module chargeable).
Conversion de numéro d'erreur vers un descriptif textuel.
Installation de la configuration de FIPS
Production de clef privée DSA à partir de paramètres. Remplacé par openssl-genpkey(1) et openssl-pkey(1).
Production de clef privée ou de paramètres.
Production de clef privée RSA. Remplacé par openssl-genpkey(1).
Afficher des informations sur des options de commande.
Afficher diverses informations ajoutées dans les bibliothèques d'OpenSSL.
Fonctions de dérivation de clé.
Liste des algorithmes et des fonctionnalités.
Calcul du code d'authentification de message.
Créer ou examiner une séquence de certificats Netscape.
Commande pour le protocole de vérification en ligne de certificats.
Production de mots de passe hachés.
Gestion de données PKCS#12.
Gestion de données PKCS#7.
Commande de conversion de clef privée de format PKCS#8.
Gestion de clefs publiques et privées.
Gestion de paramètres d'algorithme à clef publique.
Commande d'opérations cryptographiques d'algorithme à clef publique.
Calcul de nombres premiers.
Production d'octets pseudoaléatoires.
Création de lien symboliques vers les fichiers de certificats et CRL nommés selon les valeurs de hachage.
Gestion des demandes de chiffrement de certificats X.509 PKCS#10 (CSR).
Gestion de clefs RSA.
Commande RSA pour signer, vérifier, chiffrer et déchiffrer. Remplacé par openssl-pkeyutl(1).
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.
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.
Minuterie de connexion SSL.
Gestion de données de session SSL.
Traitement de courriers S/MIME.
Mesure la vitesse de l'algorithme.
Commande d'affichage et de génération de SPKAC.
Entretien du fichier de mot de passe SRP. Cette commande est obsolète.
Commande pour lister et afficher les certificats, clefs, CRL, etc.
Commande d'autorité de certification d'horodatage.
Vérification de certificat X.509. Consultez aussi la page de manuel openssl-verification-options(1)
Information sur la version d'OpenSSL.
Gestion de données pour les certificats X.509.

Condensé BLAKE2b-512
Condensé BLAKE2s-256
Condensé MD2
Condensé MD4
Condensé MD5
Condensé MDC2
Condensé RMD-160
Condensé SHA-10
Condensé SHA-2 224
Condensé SHA-2 256
Condensé SHA-2 384
Condensé SHA-2 512
Condensé SHA-3 224
Condensé SHA-3 256
Condensé SHA-3 384
Condensé SHA-3 512
Condensé KECCAK 224
Condensé keccak-256
Condensé KECCAK 384
Condensé KECCAK 512
Condensé SHA-3 SHAKE128
Condensé SHA-3 SHAKE256
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.

Algorithme de chiffrement AES-128
Algorithme de chiffrement AES-192
Algorithme de chiffrement AES-256
Algorithme de chiffrement Aria-128
Algorithme de chiffrement Aria-192
Algorithme de chiffrement Aria-256
Encodage base64
Algorithme de chiffrement Blowfish
Algorithme de chiffrement Camellia-128
Algorithme de chiffrement Camellia-192
Algorithme de chiffrement Camellia-256
Algorithme de chiffrement CAST
Algorithme de chiffrement CAST5
Algorithme de chiffrement chacha20
Algorithme de chiffrement DES
Algorithme de chiffrement Triple-DES
Algorithme de chiffrement IDEA
Algorithme de chiffrement RC2
Algorithme de chiffrement RC4
Algorithme de chiffrement RC5
Algorithme de chiffrement SEED
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.

Ces options peuvent être indiquées sans commande spécifiée pour obtenir une aide ou des infomations de version

Fournit un résumé succinct de toutes les options. Pour des informations plus détaillées, il existe une option -help pour chaque commande. La forme --help est aussi admise.
Fournit un résumé succinct de la version du programme openssl. Pour des informations plus détaillées, consultez openssl-version(1). La forme --version est aussi admise.

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.

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.
É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.

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.
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.

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}

"{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 tel que défini dans RFC 7512 :

-key pkcs11:object=une-clé-privée;pin-value=1234

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.
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.
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).

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 :

Suit l'API de suivi d'OpenSSL elle-même.
Suit l'initialisation et le nettoyage de la bibliothèque OpenSSL.
Suit le protocole TLS/SSL.
Suit les chiffrements utilisés par le protocole TLS/SSL.
Montre des détails sur la configuration du fournisseur et du moteur.
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.
Les comptes de référence dans la structure ENGINE seront suivis avec une ligne générée à chaque modification.
Suit la génération de clés PKCS#5 v2.
Suit la génération de clés PKCS#12.
Suit le déchiffrement PKCS#12.
Générer l'arbre de politiques complet à divers points durant l'évaluation de la politique de X.509 v3.
Suit les opérations de contexte BIGNUM.
Suit l'activité de client et de serveur CMP.
Suit les opérations STORE.
Suit les opérations de décodeur.
Suit les opérations d'encodeur.
Suit la décrémentation de certaines références de structure ASN.1.
Suit l'activité du client et du serveur HTTP, comme les messages envoyés et reçus

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.

30 janvier 2024 3.2.1