Suite à la réponse de Zakjan, j'ai eu un problème lorsque j'ai essayé d'utiliser jquery pour faire une requête AJAX sur mon serveur nouvellement sécurisé, dans une vue Web Android. Cela a fonctionné dans le navigateur, mais pas dans mon application.
J'ai utilisé ce site: https://certificatechain.io/
J'ai collé le texte de mon fichier .crt signé que je suis revenu de Comodo (positiveSSL), et cela m'a redonné une concatination de tout ce dont j'avais besoin. Je l'ai enregistré comme mon domaine + "chain.crt" (voir ci-dessous)
Ensuite, dans mes configurations Apache, j'ai entré quelque chose comme ça pour cet hôte virtuel particulier:
SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt
Après cela, la vue Web de mon application Android n'a pas eu de problème en utilisant ajax to POST sur mon serveur. Je l'ai essayé sur 2 appareils du monde réel, un exécutant 2.3.4, un exécutant 4. quelque chose. Et sur l'émulateur exécutant 2.3. Tout fonctionnait.
J'espère que ça aide.
SSLCACertificateFile
directive et de la pointer vers le fichier CA que mon autorité m'a donné. Cela ne fonctionnerait pas si je concaténais simplement les autres certificats à mon fichier de certificat.SSLCACertificateFile
était la ligne que j'ai raté. Au départ, je pensais que mon autorité de certification était trop récente car SSL fonctionnait à la demande de certains navigateurs / systèmes d'exploitation, mais pas d'autres. L'utilisation de decoder.link/sslchecker a permis de clarifier que ma configuration était incorrecte, et cette réponse avait le correctif. Merci!!La chaîne était dans le fichier crt, que le SSL d'origine fonctionnait.
Pour GoDaddy, il existe un deuxième certificat - gd_bundle.crt
Copiez ces informations et ajoutez-les au crt installé sur le serveur.
Ainsi, le crt d'origine sur le serveur avait 1 certificat, et après il en aura 3 sur le même fichier. Ceci est la chaîne.
J'ai toujours des problèmes d'ancre dans la chaîne sur ssllabs.com mais ce n'est pas un problème, juste une option pour laisser entrer ou sortir - selon - /security/24561/ssltest-chain-issues -contient-ancre / 24566 # 24566
la source
Vous pouvez résoudre manuellement le problème de la chaîne de certificats incomplète en concaténant tous les certificats du certificat au certificat racine de confiance (exclusif, dans cet ordre), pour éviter de tels problèmes. Remarque, le certificat racine approuvé ne doit pas être présent, car il est déjà inclus dans le magasin de certificats racine du système.
Vous devriez pouvoir récupérer les certificats intermédiaires de l'émetteur et les concaténer vous-même. Btw, j'ai écrit un script pour automatiser la procédure, il faut un certificat pour produire une sortie de certificats correctement chaînés. https://github.com/zakjan/cert-chain-resolver
la source