OpenSSL - Commandes utiles : Différence entre versions

De PedroWiki
m (Jules a déplacé la page TIPS - OpenSSL vers OpenSSL - Commandes utiles : Homogénéisation nommages)
(Aucune différence)

Version du 8 juin 2021 à 06:27

Introduction

Cet article liste les commandes openssl les plus couramment utilisées. Il y a déjà des 100aines de pages sur internet, l'idée de cet article est de capitaliser dans le temps à titre personnel.

Liens utiles

Commandes les plus utiles

Tester un port SSL

openssl s_client -connect <host>:<port>

Vérifier le contenu d'un certificat SSL au format PEM

openssl x509 -in <nom_fichier_certif> -text -noout

Convertir DER (.crt .cer .der) au format PEM

openssl x509 -outform der -in certificate.cer -out certificate.der
openssl x509 -inform der -in certificate.der -out certificate.pem

Supprimer la passphrase d'une clé privée

openssl rsa -in /path/to/ssl/032019/withPassPhrase.key -out /path/to/ssl/withoutPassPhrase.key

Puis en interactif, renseigner la passphrase. Vous pouvez ensuite utiliser la clé sans passphrase pour vos configurations.

Vérifier la correspondance CSR/clé privée/clé publique

Obtenir le hash md5 du modulus de chaque fichier et les comparer (ils doivent tous être identiques):

openssl x509 -in <clépublique> -noout -modulus | openssl md5
openssl rsa -in <cléprivée> -noout -modulus | openssl md5
openssl req -in <csr> -noout -modulus | openssl md5

Vérifier le bon ordre des clés publiques dans une chaîne

Logique:

  • partir de la clé publique de son certificat.
  • avoir 1 fichier par clé publique faisant partie de la chaîne.
  • si on considère que la clé publique est tout en haut, il faut en déterminer l'Issuer, et la clé à l'étage du dessous doit avoir un Subject strictement identique.
openssl x509 -in <clépublique> -text -noout | grep Issuer

Puis

openssl x509 -in <unedesclésdelachaine> -text -noout | grep Subject

La clé de la chaine ayant un Subject égal à l'issuer de la clé précédente vient à la suite.

Ensuite concaténer toutes ces clés dans un seul et même fichier:

cat <clépublique> > fullchain.pem
cat <cléAC1> >> fullchain.pem
...
cat <cléACn> >> fullchain.pem
cat <cléRootCA> >> fullchain.pem

Vérifier qu'il n'y ait pas de mélange des BEGIN et END CERTIFICATE (ex: manque de retour à la ligne dans les fichiers).