← retour aux snippets

openssl s_client: tester TLS et la chaîne cert

Vérifier protocole, SNI, chaîne, OCSP stapling et ciphers d'un service TLS.

bash security #openssl#tls

objectif

Diagnostiquer rapidement un endpoint TLS: certificat présenté, chaîne, SNI, OCSP, versions supportées.

code minimal

# handshake avec SNI et affichage chaîne
openssl s_client -connect data.pm:443 -servername data.pm -showcerts </dev/null

utilisation

# vérifier OCSP stapling
openssl s_client -connect data.pm:443 -servername data.pm -status </dev/null | awk '/OCSP response/ , /^$/ {print}'

# tester une version précise
for v in tls1_2 tls1_3; do
  echo | openssl s_client -connect data.pm:443 -servername data.pm -"$v" 2>/dev/null | awk '/Protocol|Cipher/'
done

variante(s) utile(s)

# extraire le certificat et vérifier les dates
echo | openssl s_client -connect data.pm:443 -servername data.pm 2>/dev/null | sed -n '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cert.pem
openssl x509 -in cert.pem -noout -issuer -subject -dates

notes

  • certains serveurs refusent les connexions sans -servername (SNI).
  • -status affiche l’OCSP stapling si fourni.