Comment debuger la demande de certificat avec openssl ?

  Aujourd'hui gros plan sur une commande bien pratique pour debuger la demande de certificat . Vous le savez sans doute, mais lorsqu'une connexion SSL est établie, la demande de certificat client peut être effectuée. Openssl permet de "simuler" un client ssl pour afficher les informations relatives au certificat :
openssl s_client -port 443 -CApath /usr/share/ssl/certs/ -host nicolas-housset.fr -prexit
Ce qui donne un truc dans ce style :
CONNECTED(00000003)
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = GeoTrust Inc., CN = RapidSSL SHA256 CA - G3
verify return:1
depth=0 CN = www.nicolas-housset.fr
verify return:1
---
Certificate chain
 0 s:/CN=www.nicolas-housset.fr
   i:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G3
 1 s:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G3
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
La commande fonctionne bien sur avec tout type de serveur supportant ssl. Par exemple,avec un serveur ldap :
openssl s_client -port 636  -host ldap-france.nicolas-housset.fr -prexit -CAfile /etc/ssl/certs/cacert.pem
NOTE : /etc/ssl/certs/cacert.pem est l'autorité de certification. Rapide. Simple. Efficace. Cette commande a tout pour plaire et vous permettra de gagner du temps dans vos analyses de problème SSL !

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.