Comanda openssl s_client deschide o conexiune TLS către un server și îți arată exact ce se întâmplă la handshake: certificatul, lanțul de certificare, protocolul și cifrul folosit. Este instrumentul de bază pentru a depana erori de SSL.
Conectarea la un server
openssl s_client -connect domeniul.tld:443 -servername domeniul.tld
Parametrul -servername trimite SNI (obligatoriu când pe același IP sunt mai multe certificate).
Ce să urmărești în rezultat
- Certificate chain — lanțul de certificare; dacă lipsesc certificatele intermediare, unii clienți vor da eroare;
- Verify return code —
0 (ok)înseamnă lanț valid; alte coduri indică probleme (ex. unable to get local issuer certificate = lanț incomplet); - Protocol / Cipher — versiunea TLS și cifrul negociat.
Teste utile
# testează un anumit protocol (util pentru a verifica ce e dezactivat)
openssl s_client -connect domeniul.tld:443 -tls1_2
openssl s_client -connect domeniul.tld:443 -tls1_3
# verifică certificatul unui server de mail (STARTTLS)
openssl s_client -connect mail.domeniul.tld:587 -starttls smtp
# afișează doar datele certificatului
echo | openssl s_client -connect domeniul.tld:443 -servername domeniul.tld 2>/dev/null | openssl x509 -noout -issuer -subject -dates
Pentru o verificare vizuală completă a lanțului, folosește și instrumentul HostX: hostx.ro/testare-ssl.