Como você conserta uma cadeia SSL incompleta?

23

Eu tenho um certificado SSL do Go Daddy instalado e funciona bem em todos os lugares, exceto no Android.

link diz que a cadeia está incompleta e eu li em estouro de pilha que uma cadeia SSL na ordem errada falhará no Android.

Mas como eu coloco em ordem? No meu servidor? O certificado SSL em si precisa ser re-rotulado? Mover coisas no FTP?

    
por Jon 12.09.2013 / 15:05

3 respostas

7

A cadeia estava no arquivo crt, que o SSL original estava funcionando.

Para o GoDaddy existe um segundo certificado - gd_bundle.crt

Copie esta informação e adicione-a ao crt instalado no servidor.

Assim, o crt original no servidor tinha 1 certificado e depois ele teria 3 no mesmo arquivo. Esta é a corrente.

Eu ainda tenho âncora em problemas de cadeia em ssllabs.com, mas isso não é um problema, apenas uma opção para deixar dentro ou fora - de acordo com - link

    
por 16.09.2013 / 14:43
12

Continuando a resposta do zakjan, tive um problema quando tentei usar o jquery para fazer uma requisição AJAX no meu servidor recém-seguro, em uma webview android. Funcionou no navegador, mas não no meu aplicativo.

Eu usei este site: link

Eu colei no texto do meu arquivo .crt assinado que recebi do Comodo (positiveSSL), e isso me devolveu uma concatenação de tudo que eu precisava. Eu salvei como meu domínio + "chain.crt" (veja abaixo)

Em seguida, nas configurações do meu apache, eu digitei algo assim para esse host virtual específico:

SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt

Depois disso, a visualização da Web do meu aplicativo Android não teve problemas ao usar o ajax para POST no meu servidor. Eu tentei em dois dispositivos reais, um rodando o 2.3.4, um rodando o 4.something. E no emulador rodando 2.3. Tudo funcionou.

Espero que isso ajude.

    
por 12.06.2015 / 23:56
7

Você pode resolver o problema cadeia de certificados incompleta manualmente concatenando todos os certificados do certificado ao certificado raiz confiável (exclusivo, nesta ordem), para evitar esses 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. Btw, eu escrevi um script para automatizar o procedimento, é preciso um certificado para produzir a saída de certificados corretamente encadeados. link

    
por 19.01.2015 / 06:34