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
- Page sur SSLShopper
- Génération de CSR (TBS)
- Wikipedia - Certifs autosignés
- Générer un certificat auto signé
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).