OpenSSL - Commandes utiles : Différence entre versions

De PedroWiki
(Liens utiles)
Ligne 32 : Ligne 32 :
 
Puis en interactif, renseigner la passphrase. Vous pouvez ensuite utiliser la clé sans passphrase pour vos configurations.
 
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).
  
 
[[Category:Commande]]
 
[[Category:Commande]]
 
[[Category:Howto]]
 
[[Category:Howto]]
 
[[Category:SSL]]
 
[[Category:SSL]]

Version du 4 juin 2021 à 13:41

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