O que há de errado com minha cadeia de confiança SSL?

10

O certificado SSL do meu site, https://www.snipsalonsoftware.com/ , não funciona no Android. Ao solucionar esse problema, conectei meu site à ferramenta de teste do Qualys SSL Labs:

https://www.ssllabs.com/ssltest/analyze.html?d=www.snipsalonsoftware.com&s=50.57.181.104

Este relatório parece me dizer que tenho "problemas em cadeia". Algo está "incompleto". Mas estou tendo problemas para entender exatamente o que está incompleto.

Na próxima seção, em "Caminhos de certificação", vejo em laranja (e acho que laranja significa "meio ruim") "Download extra". Não tenho idéia do que isso significa ou como corrigi-lo. Encontrei este tópico , mas não sei como traduzir o que eles estão dizendo em uma solução para mim.

O que devo fazer?

Jason Swett
fonte

Respostas:

5

Você configurou seu servidor para enviar apenas o certificado aos navegadores. Para a maioria dos navegadores de área de trabalho, isso é bom porque eles já contêm muitos detalhes de CA intermediária e raiz, para que possam construir a cadeia de confiança facilmente. Para a maioria dos navegadores móveis, você geralmente precisa fornecer toda a cadeia de certificados, ou seja, seu próprio certificado, o da CA de emissão e quaisquer intermediários que possam existir entre essa e a CA raiz final. O dispositivo móvel provavelmente terá os detalhes da CA raiz apenas nesse cenário.

Para seu certificado específico, você pode ler este artigo do Comodo helpdesk : Base de conhecimento: Autoridade de certificação Comodo> Certificados> SSL> Instalação de certificados

ThatGraemeGuy
fonte
1
Obrigado. Ele acabou por ser esta página que levou à resposta, a parte que diz: "SSLCertificateChainFile /etc/ssl/ssl.crt/yourDomainName.ca-bundle ***"
Jason Swett
4

Um certificado pode conter uma extensão especial de 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 e concluir a cadeia de certificados. Porém, alguns clientes (navegadores móveis, OpenSSL) não suportam essa extensão e relatam esse certificado como não confiável.

Você pode resolver o problema incompleto da cadeia de certificados manualmente, concatenando todos os certificados do certificado para o certificado raiz confiável (exclusivo, nesta ordem), para evitar esses problemas. Observe que o certificado raiz confiável não deve estar lá, pois já está incluído no armazenamento de certificados raiz do sistema.

Você deve conseguir certificados intermediários do emissor e concatená-los por si mesmo. Eu escrevi um script para automatizar o procedimento, ele faz um loop na extensão AIA para produzir a saída de certificados encadeados corretamente. https://github.com/zakjan/cert-chain-resolver

zakjan
fonte
Resposta incrível, essa é a única coisa que me ajudou. Dei ao script meu certificado (apenas meu certificado único, não o pacote) e ele criou a pilha completa de certificados necessários para o servidor da web.
onlynone
Há um webservice para isso também: certificatechain.io
rcoup
github.com/spatie/ssl-certificate-chain-resolver - php pacote para que se você não temGo
shukshin.ivan