openssl s_client
Rede
Uso
openssl s_client -connect <host>:443 -servername <host>Abre uma conexao TLS crua para inspecionar o certificado e o handshake; sem `-servername`, um servidor com muitos sites num endereco entrega o certificado padrao, e sem `< /dev/null` ele fica ali esperando entrada.
Opções comuns
| Opção | Significado |
|---|---|
| -connect host:443 | Where to open the TLS connection. |
| -servername <host> | The SNI name. Without it a shared host serves its default certificate. |
| -showcerts | Print the whole chain the server sent, not just the leaf. |
| -tls1_2 / -tls1_3 | Force one protocol version, to test what the server still accepts. |
| -verify_return_error | Fail instead of continuing when the chain does not validate. |
| < /dev/null | Close stdin, or the command sits and waits forever. |
Exemplos
openssl s_client -connect example.com:443 -servername example.com < /dev/null 2>/dev/null | openssl x509 -noout -datesWhen the certificate expires.
openssl s_client -connect example.com:443 -showcerts < /dev/nullInspect the full chain for a missing intermediate.
Quando a conexão falha, estes mostram até onde ela chegou: o nome não resolve, não há rota ou a porta está fechada.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que openssl s_client faz?
Abre uma conexao TLS crua para inspecionar o certificado e o handshake; sem `-servername`, um servidor com muitos sites num endereco entrega o certificado padrao, e sem `< /dev/null` ele fica ali esperando entrada.
Q. Como se digita?
openssl s_client -connect <host>:443 -servername <host> — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 6; a lista completa está em man openssl. Este comando fica em Rede.
Comandos relacionados
página man: man openssl-s_client