Verificar informações de certificados pela linha de comandos no Linux
Por várias razões necessitamos por vezes saber determinadas informações de um certificado de segurança de um site ou de um serviço de email como, emissor, data de validade, assunto e outras.
Para quem trabalha com este tipo de tecnologia é uma tarefa corriqueira saber se um determinado certificado SSL é válido e quando expira.
No Linux podemos ter estas informações de uma forma bastante simples através da linha de comandos. Com o comando openssl podemos recuperar informações de um certificado de um site HTTPS ou de serviços de email POP/IMAP que utilizem SSL para cifrar mensagens.
Nos seguintes exemplos vou utilizar o domínio ncdc.pt e o porto 443, caso queiramos testar um servidor de IMAP que utilize SSL teríamos que utilizar o porto 993.
Verificar a data de validade de um certificado
Verificar quando um certificado SSL expira pela linha de comandos no Linux:
$ echo | openssl s_client -connect ncdc.pt:443 2>/dev/null | openssl x509 -noout -dates
Quem emitiu o certificado?
Qual foi a entidade certificadora que emitiu este certificado:
$ echo | openssl s_client -connect ncdc.pt:443 2>/dev/null | openssl x509 -noout -issuer
Para quem o certificado foi emitido?
A entidade ou pessoa para quem este certificado foi emitido:
$ echo | openssl s_client -connect ncdc.pt:443 2>/dev/null | openssl x509 -noout -subject
Qual é o hash do certificado?
$ echo | openssl s_client -connect ncdc.pt:443 2>/dev/null | openssl x509 -noout -hash
Qual é o MD5 fingerprint?
$ echo | openssl s_client -connect ncdc.pt:443 2>/dev/null | openssl x509 -noout -fingerprint
Verificar o comprimento da chave de um certificado
$ echo | openssl s_client -connect ncdc.pt:443 2>/dev/null | openssl x509 -text -noout | grep "Public-Key"
Extrair todas as informações do certificado
$ echo | openssl s_client -connect ncdc.pt:443 2>/dev/null | openssl x509 -noout -text
O comando openssl é um utilitário muito importante que nos pode auxiliar na tarefa de testar os certificados que estamos a configurar, bem como certificados que utilizamos no nosso dia a dia para comunicar com segurança na Internet.
Espero que este artigo possa ajudar alguém!
One comment
Tiago
Este artigo esta muito bom.
Obrigado pela ajuda.