No Chrome, clicar no ícone verde de bloqueio HTTPS abre uma janela com os detalhes do certificado:
Quando tentei o mesmo com o cURL, obtive apenas algumas das informações:
$ curl -vvI https://gnupg.org
* Rebuilt URL to: https://gnupg.org/
* Hostname was NOT found in DNS cache
* Trying 217.69.76.60...
* Connected to gnupg.org (217.69.76.60) port 443 (#0)
* TLS 1.2 connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate: gnupg.org
* Server certificate: Gandi Standard SSL CA
* Server certificate: UTN-USERFirst-Hardware
> HEAD / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: gnupg.org
> Accept: */*
Alguma idéia de como obter as informações completas do certificado em uma ferramenta de linha de comando (cURL ou outra)?
ssl
ssl-certificate
curl
Adam Matan
fonte
fonte
curl
sinalizador atual--verbose
mostra o conteúdo completo do certificado do servidor.Respostas:
Você deve poder usar o OpenSSL para sua finalidade:
Esse comando se conecta ao site desejado e canaliza o certificado no formato PEM para outro comando openssl que lê e analisa os detalhes.
(Observe que o
-servername
parâmetro "redundante" é necessário paraopenssl
fazer uma solicitação com o suporte SNI.)fonte
OpenSSL> openssl:Error: 'CONNECTED(00000003)' is an invalid command.
openssl
vsopenssl x509 -inform pem -noout -text
). O que Pedro escreveu funciona bem para mim.echo
por si só é equivalente aecho ''
.. envia uma string vazia para stdout.cat /dev/null |
funcionaria também e é um pouco mais auto-explicativo.-text
por-enddate
, verifique outras opções (openssl x509 help
).Solução simples
Esse é o meu roteiro diário:
Resultado:
fonte
Depende do tipo de informação que você deseja, mas:
deve lhe dar o máximo, embora não seja tão legível por humanos como o Chrome o apresenta.
fonte
Os
-p 443
especifica para digitalizar apenas a porta 443. Todas as portas serão verificadas se omitidas, e os detalhes do certificado para qualquer serviço SSL encontrado serão exibidos. O comando--script ssl-cert
diz ao mecanismo de script do Nmap para executar apenas ossl-cert
script. No documento, esse script "(r) recupera o certificado SSL de um servidor. A quantidade de informações impressas sobre o certificado depende do nível de verbosidade".Saída de amostra:
fonte
Para verificar os detalhes do certificado SSL, eu uso a seguinte ferramenta de linha de comando desde que ela se tornou disponível:
https://github.com/azet/tls_tools
É ótimo verificar se você tem todas as informações corretas para reemitir certificados ou validar os existentes, além de poucas dependências E não requer configuração.
É assim que as primeiras linhas da saída se parecem:
Essa saída é seguida por toda a cadeia de certificados no mesmo nível de detalhe.
O que eu gosto disso, em vez de ser uma ferramenta CLI centrada em ssl, como o s_client do openssl, este tenta fazer apenas o trabalho que precisamos na maioria das vezes. É claro que o openssl é mais flexível (ou seja, também checando clientes, imaps em portas estranhas, etc.) - mas nem sempre preciso disso.
Como alternativa, se você tiver tempo para pesquisar e configurar ou apreciar mais recursos, há a ferramenta maior chamada sslyze (não a utiliza desde dependências e instalação ...)
fonte
Para completar: se você instalou no seu sistema Java 7 ou superior
mostra a cadeia (como exibida ) com quase todos os detalhes em um formato geralmente bastante feio.
Se você deve ter o Java instalado no seu sistema, eu não respondo.
fonte
Eu uso um script de shell para isso. É apenas um invólucro em torno do comando openssl que me impede de lembrar a sintaxe.
Ele fornece opções para analisar a maioria das informações de certificado em que normalmente estou interessado ou exibir a saída bruta do openssl.
Pode consultar um arquivo de certificado local ou um servidor remoto.
Uso:
Você pode obter o script aqui: http://giantdorks.org/alain/shell-script-to-check-ssl-certificate-info-like-expiration-date-and-subject/
fonte
Se você quiser fazer isso no Windows, poderá usar o PowerShell com a seguinte função:
Isso permite que você faça algumas coisas legais, como
fonte
fonte
Se você deseja apenas a data de validade (que não é exatamente a resposta, mas é 9/10 para a qual as pessoas usam os detalhes do certificado do Chrome), você pode usar:
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate
Útil para scripts etc.
fonte