Siguiendo con la respuesta de zakjan, tuve un problema cuando intenté usar jquery para hacer una solicitud AJAX en mi servidor recién seguro, en una vista web de Android. Funcionó en el navegador, pero no en mi aplicación.
Usé este sitio: https://certificatechain.io/
Pegué el texto de mi archivo .crt firmado que recibí de Comodo (positiveSSL), y me devolvió una concatenación de todo lo que necesitaba. Lo guardé como mi dominio + "chain.crt" (ver más abajo)
Luego, en mis configuraciones de apache, ingresé algo como esto para ese host virtual en particular:
SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt
Después de eso, la vista web de mi aplicación de Android no tuvo problemas al usar ajax para POST a mi servidor. Lo probé en 2 dispositivos del mundo real, uno con 2.3.4 y otro con 4.algo. Y en el emulador ejecutando 2.3. Todo funcionó.
Espero que esto ayude.
SSLCACertificateFile
directiva y señalarla al archivo CA que me dio mi autoridad. No funcionaría si simplemente concatenara los otros certificados a mi archivo de certificado.SSLCACertificateFile
era de la línea echaba de menos. Inicialmente supuse que mi CA era demasiado nueva porque SSL funcionaba cuando se lo solicitaban algunos navegadores / SO, pero no otros. El uso de decoder.link/sslchecker ayudó a aclarar que mi configuración estaba equivocada, y esta respuesta tenía la solución. ¡¡Gracias!!La cadena estaba en un archivo crt, que el SSL original estaba funcionando.
Para GoDaddy hay un segundo certificado: gd_bundle.crt
Copie esta información y agréguela al CRT instalado en el servidor.
Entonces, el CRT original en el servidor tenía 1 certificado, y después tendrá 3 en el mismo archivo. Esta es la cadena.
Todavía tengo ancla en los problemas de la cadena en ssllabs.com pero esto no es un problema, solo una opción para dejarlo dentro o fuera, de acuerdo con /security/24561/ssltest-chain-issues -contains-anchor / 24566 # 24566
fuente
Puede resolver el problema de la cadena de certificados incompleta manualmente concatenando todos los certificados del certificado al certificado raíz de confianza (exclusivo, en este orden), para evitar dichos problemas. Tenga en cuenta que el certificado raíz de confianza no debe estar allí, ya que ya está incluido en el almacén de certificados raíz del sistema.
Debería poder obtener certificados intermedios del emisor y reunirlos usted mismo. Por cierto, he escrito un script para automatizar el procedimiento, se necesita un certificado para producir la salida de los certificados correctamente encadenados. https://github.com/zakjan/cert-chain-resolver
fuente