sec_error_unknown_issuer mas apenas com o Firefox e o IE6

6

Renovei recentemente o certificado SSL no meu site e, embora inicialmente parecesse que o certificado foi instalado corretamente, fiquei chocado ao descobrir há algumas horas que a conexão HTTPS não é mais autenticada corretamente em certos navegadores e versões.

Atualmente, ele é autenticado com os seguintes navegadores:

  • Internet Explorer 8
  • Internet Explorer 9
  • Google Chrome 8
  • Opera 11
  • Firefox 3.6.21 (no Windows 2000)

Mas NÃO autentica corretamente com:

  • Firefox 3.6.13 (no Windows XP)
  • Firefox 6.01 (no Windows 7)
  • Internet Explorer 6 (no Windows 200)

O certificado tem o caminho do certificado de GeoTrust Global CA > RapidSSL CA > secure.mydomain.com .

O que poderia explicar esse problema? Este é um problema de instalação? Problema do navegador? Problema de certificado?

Como resolvo este problema?

    
por scatmoi 04.09.2011 / 17:36

5 respostas

8

Eu tive o mesmo problema - comprei um certificado SSL básico (da Network Solutions), instalei-o no nginx e ele funcionou bem no Opera e no IE - mas não no Firefox 3.6.12. Foi assim que resolvi o problema. Note que eu tenho acesso root / shell ao meu VPS, eu não sei se você faz (pelo menos isso pode apontar seus provedores na direção certa).

O primeiro passo para encontrar a solução foi usar Qualys (conforme esta outra resposta ). Ele me disse que a cadeia estava incompleta .

Em segundo lugar, usei OpenSSL para testar / depurar. Supondo que você tenha acesso ao shell, você pode fazer o comando ( q ou CTRL-C para desconectar):

openssl s_client -connect mysite.com:443

e você provavelmente verá o erro "não é possível obter o certificado do emissor local". Esta é também uma maneira de testar quando está funcionando, no shell, sem rodar o Firefox.

Cadeias de certificado SSL

Some browsers may complain about a certificate signed by a well-known certificate authority, while other browsers may accept the certificate without issues. This occurs because the issuing authority has signed the server certificate using an intermediate certificate that is not present in the certificate base of well-known trusted certificate authorities which is distributed with a particular browser. In this case the authority provides a bundle of chained certificates which should be concatenated to the signed server certificate. The server certificate must appear before the chained certificates in the combined file

Configuração do Nginx

No meu caso, eu obtive três arquivos da Network Solutions - mysite.com.crt , AddTrustExternalCARoot.crt e NetworkSolutionsDVServerCA.crt . Não havia nenhum arquivo pacote , mas é possível criar um dos outros certificados. Depois de algumas tentativas e erros, descobri que precisava:

$ cat mysite.com.crt NetworkSolutionsDVServerCA.crt > mysite.com.chain.crt

O passo final foi reconfigurar o meu servidor nginx com o novo arquivo:

server {
    listen       443;
    ssl          on;
    ssl_certificate        /etc/ssl/certs/mysite.com.chain.crt;
    ssl_certificate_key    /etc/ssl/private/mysite.com.key;

    server_name  mysite.com;
    # and so on
}

Depois de obter os certificados certos no pacote e reiniciar o nginx, openssl não informou erros, o Firefox conseguiu a página sem problemas e o Qualys informou que a cadeia era válida.

Configuração do Apache

Como você está executando o Apache, então você (ou seus provedores) precisam configurá-lo para SSL com os locais de arquivo corretos, um dos quais é o arquivo em cadeia intermediário :

<VirtualHost 192.168.0.1:443>
    DocumentRoot /var/www/html2
    ServerName www.yourdomain.com
    SSLEngine on
    SSLCertificateFile /path/to/your_domain_name.crt
    SSLCertificateKeyFile /path/to/your_private.key
    SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>
    
por 24.10.2011 / 21:02
5

Experimente os seguintes testes no seu domínio:

Qualys: link

DigiCert: link

Eu achei ambos muito úteis para resolver problemas aleatórios de certificado SSL.

    
por 11.09.2011 / 23:08
1

Eu uso isso para Nginx e StartSSL, ele também precisa da classe CA:

cat ssl.pem ca.pem sub.class1.server.ca.pem > server.pem

ou

cat ssl.pem ca.pem sub.class2.server.ca.pem > server.pem

(de acordo com o seu nível de aula)

    
por 20.06.2014 / 13:38
1

Um certificado pode conter uma extensão especial Acesso a Informações da Autoridade ( RFC-3280 ) com URL para o certificado do emissor. A maioria dos navegadores pode usar a extensão AIA para baixar o certificado intermediário ausente para completar a cadeia de certificados. Mas alguns clientes (navegadores mais antigos e móveis, OpenSSL) não suportam essa extensão, então eles relatam tal certificado como não confiável.

Você pode resolver a questão cadeia de certificados incompleta manualmente concatenando todos os certificados do certificado ao certificado raiz confiável (exclusivo, nesta ordem), para evitar tais problemas. Tenha em atenção que o certificado raiz fidedigno não deve estar presente, uma vez que já está incluído no arquivo de certificados raiz do sistema.

Você deve conseguir obter certificados intermediários do emissor e reuni-los sozinho. Eu escrevi um script para automatizar o procedimento, ele faz um loop na extensão AIA para produzir a saída de certificados corretamente encadeados. link

    
por 19.01.2015 / 03:40
-1

Eu tive o mesmo problema com essas mensagens de erro que as etapas que eu fiz estavam limpando o cache, reduzindo a segurança da internet e adicionando ao site confiável. parece que nada funciona para mim ..

então encontrei este site muito informativo, tão simples e direto.

Solução 3. A partir deste website link

    
por 16.02.2018 / 01:08