L' CAFile
option configure une autorité de certification à utiliser pour les certificats d'authentification client; ce n'est pas ce que tu veux.
Au lieu de cela, vous souhaitez créer le fichier dans l' cert
option pour contenir toute la chaîne de certificats applicable. Vous voudrez enregistrer une copie de sauvegarde de ce fichier, puis en créer un nouveau; combinant essentiellement les deux fichiers, formatés comme ceci:
-----BEGIN CERTIFICATE-----
(certificate from asana.pem file pasted here)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(intermediate certificate here; copy-paste the top chunk from the bundle)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(root certificate here; copy-paste the bottom chunk from the bundle)
-----END CERTIFICATE-----
Cela obligera Stunnel à présenter la chaîne de certificats complète aux clients.
Une autre friandise; la openssl s_client
commande est très utile pour tester les problèmes de chaîne de certificats et vérifier comment votre service présente ses certificats.
Edit: Ok .. la chaîne de cet ensemble de certificats est à trois profondeurs, mais la chaîne de confiance semble à deux profondeurs. Quelque chose ne va pas.
Le certificat supérieur ("Starfield Secure Certification Authority") est signé par un émetteur nommé "Starfield Class 2 Certification Authority" avec une empreinte numérique commençant par ad7e1c28
.. mais le deuxième cert du bundle, nommé exactement de la même manière que le premier signataire du cert, qui devrait être exactement le même certificat, a une empreinte digitale commençant par 363e4734
et une date d'expiration 10 ans plus tôt. Le troisième certificat (racine) est alors le signataire du certificat intermédiaire inclus .. mais aucun de ces deux n'a de relation avec le premier!
Si cela n'a pas de sens, ne vous inquiétez pas. Résumé: travail bâclé, quelqu'un a sérieusement laissé tomber la balle en construisant ce bundle cert. Votre meilleur pari est alors d'exporter les fichiers au format base-64 à partir d'un navigateur qui valide avec succès la chaîne, en les collant dans le format que j'ai répertorié à partir de là.
Comme c'est un gâchis déroutant sans aucune faute de votre part, j'ai pris une supposition sur votre nom DNS et j'ai attrapé le certificat, et je pense que cela devrait être la chaîne complète dont vous avez besoin: http://pastebin.com/Lnr3WHc8
Qualys SSLLabs est vraiment pratique pour vérifier votre configuration après les modifications.
https://www.ssllabs.com/ssldb/analyze.html
Vérifie que vous avez
la source
Pour toute autre personne confrontée à ce problème, le message de Shane a fait l'affaire, même si j'ai également dû inclure le fichier CAFile. Aussi, lors de la création de la chaîne, assurez-vous de suivre les instructions de dénomination des fichiers conformément à cet article
Et si vous êtes confronté à ce problème, car vous essayez d'utiliser des Websockets avec Android Cordova, assurez-vous d'ajouter manuellement wss à votre liste cordova-liste blanche, car le * ne comprend que http et https.
la source