Certificado SSL Wildcard Starfield Não Confiável em Todos os Navegadores

7

Não sei o que mais devo tentar para depurar esse problema com um certificado SSL Starfield Wildcard.

O problema é que, em determinados navegadores (Safari ou o chrome mais atualizado que você pode obter para o OS X 10.5.8, por exemplo), o certificado aparece como não confiável, mesmo no domínio raiz.

Minha configuração do servidor / informações de segundo plano:

  • Configuração geral da LAMP - CentOS 6.3 - em um VPS da Godaddy
  • Certificado SSL Wildcard da Starfield Technologies
  • Instalado usando as instruções das páginas de suporte do godaddy
  • As linhas

    ssl.conf são basicamente as seguintes:

    SSLCertificateFile /path/to/cert/mysite.com.cert
    SSLCertificateKeyFile /path/to/cert/mysite.key
    SSLCertificateChainFile /path/to/cert/sf_bundle.crt

Tudo aparentemente funcionou bem até a noite anterior, quando notei o problema no OS X, presumo que seja mais relacionado à versão do navegador, mas só consegui replicá-lo nessa máquina em particular.

O que tentei:

  • Atualizando o sf_bundle.crt do repositório cert do godaddy e das versões do repositório do Starfield
  • Seguindo Esta resposta do ServerFault de Jim Phares - alterando a linha ChainFile para sf_intermediate.crt do repositório de Starfield
  • Usando o link no meu URL
    • Ele diz que o domínio está corretamente listado no certificado, mas apresenta um erro que lê O certificado não é confiável em todos os navegadores da web. Pode ser necessário instalar um certificado Intermediário / de cadeia para vinculá-lo a um certificado raiz confiável.

O que devo tentar em seguida para corrigir o problema do certificado não confiável?

Avise-me se houver outras informações necessárias que possam ajudar a depurar esse problema. Desde já, obrigado!

Solução:

My problem ended up being that I had forgotten to add the SSLCertificateChainFile line to the virtual host(s) in my httpd.conf and had only been editing those lines in ssl.conf instead, thanks for all the suggestions!

    
por Austen Cameron 07.11.2012 / 22:59

1 resposta

9

Duas coisas que você pode fazer:

  1. Verifique a cadeia intermediária
  2. Limpar a cadeia intermediária

Verifique a cadeia intermediária

Como o erro parece indicar, há algo errado em sua cadeia de certificados intermediários. Você deve verificar de onde obteve seu certificado e que obteve o pacote intermediário correto.

Você deve verificar o "hash" e o "hash do emissor" de cada certificado na cadeia com os comandos openssl x509 -noout -hash e openssl x509 -noout -issuer_hash . Tente isso para obter o hash do emissor do seu certificado:

cat /path/to/cert/mysite.com.cert | openssl x509 -noout -issuer_hash

Em seguida, tente encontrar um certificado com esse hash no arquivo sf_bundle.crt que você especificou como SSLCertificateChainFile . Você pode ter que extrair os certificados (ou apenas copiá-los para o comando):

cat first_cert_from_sf_bundle.crt | openssl x509 -noout -hash

Verifique todos eles. Se ninguém tem esse hash, então algo está errado ali. Continue fazendo essas verificações até encontrar um certificado que tenha o mesmo -hash e -issuer_hash . Este é o seu certificado raiz.

Se algo estiver faltando, você pode verificar os outros arquivos intermediários aqui link . Faça o download deles e compare os -hash deles com os -issuer_hash nos quais você ficou preso.

Se tudo estiver bem, então ....

Limpar a cadeia intermediária

Eu vi isso também ajudar quando você recebe erros de validação estranhos. Certifique-se de que sua cadeia intermediária liste somente os certificados necessários e na ordem correta (é mais fácil se estiver no formato PEM). Em outras palavras, se sua cadeia for Your cert -> cert A -> cert B -> Starfield Root cert . Tente anexar esses nesta ordem (você pode pular o primeiro e o último) para que sua cadeia intermediária pareça com algo assim:

-----BEGIN CERTIFICATE-----
cert A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
cert B
-----END CERTIFICATE-----

Pessoalmente, gosto de manter todos esses certificados (certificado pessoal, seguidos pelos intermediários, seguidos pelo certificado raiz) no mesmo arquivo. Então, apenas especifico esse arquivo como SSLCertificateFile e SSLCertificateChainFile .

    
por 08.11.2012 / 00:40