Início·Comandos de terminal

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çãoSignificado
-connect host:443Where to open the TLS connection.
-servername <host>The SNI name. Without it a shared host serves its default certificate.
-showcertsPrint the whole chain the server sent, not just the leaf.
-tls1_2 / -tls1_3Force one protocol version, to test what the server still accepts.
-verify_return_errorFail instead of continuing when the chain does not validate.
< /dev/nullClose 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 -dates

When the certificate expires.

openssl s_client -connect example.com:443 -showcerts < /dev/null

Inspect 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