Adicione a opção -showcerts
para fazer s_client imprimir toda a cadeia.
Minha situação é a seguinte: na nossa rede corporativa, um tipo especial de certificado SSL emitido pela própria empresa é usado. Toda vez que eu abro um site via https no Firefox, uma mensagem de aviso é exibida dizendo "sec_error_unknown_issuer". Nos detalhes do certificado, diz que este certificado em particular foi emitido pela minha empresa, há um endereço e nome da empresa e tudo. É muito chato porque eu preciso adicionar uma exceção para o certificado inválido toda vez que eu vou para um site criptografado por SSL. Uma possível solução seria abandonar o SSL e usar o HTTP simples quando possível (não há diferença entre SSL e não-SSL no momento se os administradores de rede lidam com os próprios certificados, eu acho), mas alguns sites não funcionam sem SSL, como as páginas de login do banco. Então, acho que a melhor idéia seria adicionar o certificado à lista de autoridades confiáveis do Firefox. Para fazer isso, preciso ter um certificado de autoridade. Eu tentei obtê-lo com o seguinte comando Openssl mas sem sucesso:
openssl s_client -connect hostname:port
Ele mostra um certificado, mas pára porque alguns certificados não puderam ser verificados e o certificado está incorreto porque o Firefox exibe um erro quando tento importá-lo. Não lembro a mensagem exata agora, mas era algo como "este certificado não é um certificado de autoridade válido".
Eu também tentei usar o Wireshark, mas não posso usar muito bem e não consegui pegar o que estava procurando. E como último recurso, é impossível desativar a validação de certificados SSL no Firefox.
Então, como posso pegar este certificado de autoridade local que eu poderia importar para o Firefox e deixar de ficar irritado com as mensagens de erro?
Adicione a opção -showcerts
para fazer s_client imprimir toda a cadeia.
Estou enfrentando o mesmo problema hoje, e toda vez que tento conectar um site, todos os produtos mozilla pedem permissão para adicionar certificado. E esse certificado só certifica para o site especificado.
Para adicionar seu certificado corporativo às autoridades confiáveis, vá ao Painel de controle - > Opções da Internet - > Conteúdo - > Certificados - > Autoridades de Certificação Raiz Confiáveis
E uma lista aparece lá. Encontre seu certificado corporativo e exporte-o para um arquivo, com as opções padrão do assistente.
Depois disso, abra o firefox, Opções - > Avançado - > Ver certificados - > Autoridades - > Importar
Selecione o arquivo que você exportou e verifique todas as opções de confiança.
Agora você poderá conectar todos os sites.
Se você usa a rede corporativa ou confia no emissor, é necessário importar o certificado para o seu chaveiro e torná-lo confiável para sua conexão SSL. Para que funcione em todos os endereços da Web, é necessário que seja uma autoridade de certificação raiz.
No Chrome, você basicamente pode clicar no ícone de cadeado e, em seguida, na guia Conexão, para ver as informações de certificado que devem consistir no link CRT no certificado raiz (superior).
Depoisdebaixaroarquivodecertificadooupeloseguintecomando:
openssls_client-connectexample.com:443</dev/null|sed-ne'/-BEGINCERTIFICATE-/,/-ENDCERTIFICATE-/p'>foo.crt
abraoarquivoe,emconfiguraçõesconfiáveis,confieem.
NoOSX,vocêpodeclicarduasvezesnoarquivoouarrastaresoltaroseuKeychainAccess,paraqueeleapareçaemlogin/Certificados.Emseguida,cliqueduasvezesnocertificadoimportadoeconfieemSempreconfiávelparaSSL(conformemostradoabaixo).
Agora, todos os sites HTTPS / SSL devem funcionar bem.
Se você não conseguir o certificado do proxy da Web corporativo, adicione seu próprio proxy local (por exemplo, proxy do Burp Suite) entre o navegador e o proxy corporativo e instale o certificado do proxy local no seu navegador. Configure seu navegador para usar o proxy local (Opções - > Avançado - > Rede - > Configurações de conexão). O navegador só vê certificados emitidos pelo seu proxy local, o que é confiável, e você não vê erros no navegador.
Tags firefox ssl ssl-certificate