Publié le 10/13/2017, rédigé par Gaulthier LALLEMAND

OpenSSL

Comment vérifier la correspondance entre un certificat SSL, une clef et une CSR ?

Prérequis : disposer d'une clef SSL, d'une CSR et d'un certificat.

La gestion des clefs et certificats peut être assez difficile, étant donnée que la durée de validité peut atteindre plusieurs années. Il faut donc être capable d'associer correctement ces fichiers, sinon le service utilisateur risque de ne pas fonctionner, voire même de faire l'impasse sur le SSL de façon silencieuse.

La prise en main d'un système en production peut aussi nécessiter de s'assurer de la compatibilité des fichiers. En effet, les noms donnés aux certificats ou aux clefs (ou aux CSR) ne sont pas toujours très parlant.

Pour vérifier cette concordance, nous allons comparer les modules de ces fichiers. Si les modules sont identiques, il y a alors de très (très très) grandes chances que les fichiers soient liés.

Pour les trois types de fichiers (KEY, CSR et CRT), la sortie attendue des commandes proposées juste après est de la forme:

Modulus=B06EED2BB81C01D34F7ABAB1CC3A1C...

La taille du module dépend de la taille de la clef.

Pour une clef :

openssl rsa -noout -modulus -in ma_clef.key

Pour une CSR :

openssl req -noout -modulus -in ma_demande.csr

Pour un certificat :

openssl x509 -noout -modulus -in mon_certificat.crt

Il ne reste qu'à comparer les sorties pour savoir qui va avec qui.