Openssl

De Wiki doc

Révision datée du 18 août 2022 à 13:36 par Ycharbi (discussion | contributions) (Ajout de la section "Simuler un serveur WEB" + Francisation du nom des fichiers généré dans la création d'un couple de clés + mise en italique du mot "PKCS#12")
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Création d'un couple de clés

Publique/privé

openssl req -x509 -nodes -days 5000 -newkey rsa:4096 -out /etc/ssl/certs/serveur.crt -keyout /etc/ssl/private/serveur.key

ASTUCE

il est possible de pré-remplir les informations qui seront demandées pour la création du certificat afin de désactiver l’interaction de la commande en ajoutant le paramètre suivant à votre commande : -subj "/C=FR/ST=Paris/L=Paris/O=Entreprise 1/OU=Pôle recherche/CN=toto.exemple.fr, emailAddress = admin@exemple.fr".

Restriction d'accès à la clé privée

chmod 400 /etc/ssl/private/serveur.key

Chaînage du certificat

cat /etc/ssl/certs/serveur.crt /etc/ssl/private/serveur.key > /root/chaine.pem

Vérifier un couple de clés

Contrôler et afficher une clé privée et publique

openssl rsa -noout -text -check -in doc.ycharbi.fr.key

Afficher le contenu décodé d'un certificat en format PEM

openssl x509 -noout -text -in doc.ycharbi.fr.pem

Afficher le contenu d'un certificat en format PKCS#7

openssl pkcs7 -print_certs -in doc.ycharbi.fr.p7b

Afficher le contenu d'un certificat et d'une clé en format PKCS#12

openssl pkcs12 -info -in doc.ycharbi.fr.p12

Contrôler une connexion TLS et afficher tous les certificats intermédiaires

openssl s_client -connect doc.ycharbi.fr:443

Convertir des certificats

Non testé.

Conversion du format PKCS#12 vers le format PEM

Le format PKCS#12, généralement utilisé par Microsoft Windows et les versions mobiles d'OpenVPN, comporte généralement les extensions .pfx ou .p12.

openssl pkcs12 -nodes -in doc.ycharbi.fr.p12 -out doc.ycharbi.fr.crt

Conversion du format PEM vers le format PKCS#12

openssl pkcs12 -export -in doc.ycharbi.fr.crt -inkey doc.ycharbi.fr.key -out doc.ycharbi.fr.p12

Conversion du format PKCS#7 vers le format PEM

Le format PKCS#7 comporte généralement les extensions .p7b ou .p7c.

openssl pkcs7 -print_certs -in doc.ycharbi.fr.p7b -out doc.ycharbi.fr.crt

Conversion du format PEM vers le format PKCS#7

openssl crl2pkcs7 -nocrl -certfile doc.ycharbi.fr.crt -out doc.ycharbi.fr.p7b

Conversion du format DER vers le format PEM

Le format DER comporte généralement les extensions .crt .cer ou .der.

openssl x509 -inform der -in doc.ycharbi.fr.cer -out doc.ycharbi.fr.pem

Simuler un serveur WEB

Il est possible de simuler un serveur WEB HTTPS en une commande. Ceci peut être utile à des fins de test (la page affichera les capacités d'OpenSSL).

openssl s_server -cert /tmp/tls/serveur.crt -key /tmp/tls/serveur.key -accept 44330 -www

OpenSSL écoute alors les requêtes HTTP via TLS sur le port 44330 (toutes adresses source).

Il est possible d'afficher cette page avec un navigateur ou directement depuis le client intégré à OpenSSL :

openssl s_client -connect localhost:44330

Sources de la section

Source