OPENSSL(1SSL) | OpenSSL | OPENSSL(1SSL) |
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.
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.
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.
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.
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.
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
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).
La valeur est une liste de noms séparés par des virgules dont les suivants sont disponibles :
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 <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.
7 février 2023 | 3.0.8 |