s_client permet de voir le certificat réellement présenté par un serveur et les certificats intermédiaires envoyés au client.
Étapes
- Tester avec SNI — Utilisez le même nom DNS pour -connect et -servername lorsque le site est mutualisé.
- Lire les dates — Vérifiez notBefore et notAfter.
- Contrôler les SAN — Assurez-vous que le nom utilisé par le client est couvert.
- Examiner la chaîne — Vérifiez que les intermédiaires nécessaires sont présentés.
- Comparer depuis plusieurs réseaux — Si un proxy TLS est présent, le certificat peut différer.
Commandes utiles
openssl s_client -connect exemple.fr:443 -servername exemple.fr -showcerts
openssl x509 -noout -subject -issuer -dates -ext subjectAltName
À retenir
- Le certificat stocké sur le serveur n’est pas forcément celui présenté au client.
- Une racine n’a généralement pas besoin d’être envoyée par le serveur.
- Une erreur de nom d’hôte ne se corrige pas en ignorant la validation TLS.