Domaine: https://www.amz2btc.com
Analyse de SSL Labs: https://www.ssllabs.com/ssltest/analyze.html?d=amz2btc.com
Tous mes navigateurs de bureau ouvrent cette amende. Mobile Firefox ouvre cette amende. Ce n'est que lorsque j'ai essayé avec mobile Chrome que j'ai eu l'erreur suivante: err_cert_authority_invalid
Je connais très peu de choses sur SSL, je ne peux donc pas vraiment comprendre le rapport SSL ou la raison de cette erreur. Si quelqu'un pouvait ELI5, ce serait l'idéal. :)
Je viens de passer la matinée à régler ce problème. Le problème n'était pas qu'il me manquait un certificat. C'était que j'avais un extra.
J'ai commencé avec mon fichier ssl.conf contenant ma clé de serveur et trois fichiers fournis par mon autorité de certification SSL:
# Server Certificate:
SSLCertificateFile /etc/pki/tls/certs/myserver.cer
# Server Private Key:
SSLCertificateKeyFile /etc/pki/tls/private/myserver.key
# Server Certificate Chain:
SSLCertificateChainFile /etc/pki/tls/certs/AddTrustExternalCARoot.pem
# Certificate Authority (CA):
SSLCACertificateFile /etc/pki/tls/certs/InCommonServerCA.pem
Cela a bien fonctionné sur les ordinateurs de bureau, mais Chrome sur Android m'a donné err_cert_authority_invalid
Beaucoup de maux de tête, de recherches et d'une documentation médiocre plus tard, j'ai compris qu'il s'agissait de la chaîne de certificats de serveur:
SSLCertificateChainFile /etc/pki/tls/certs/AddTrustExternalCARoot.pem
Cela créait une chaîne de certificats seconde incomplète. J'ai commenté cette ligne, me laissant avec
# Server Certificate:
SSLCertificateFile /etc/pki/tls/certs/myserver.cer
# Server Private Key:
SSLCertificateKeyFile /etc/pki/tls/private/myserver.key
# Certificate Authority (CA):
SSLCACertificateFile /etc/pki/tls/certs/InCommonServerCA.pem
et maintenant cela fonctionne à nouveau sur Android. C'était sous Linux avec Apache 2.2.
J'ai eu le même problème en hébergeant un site Web via Parse et en utilisant un certificat Comodo SSL revendu par NameCheap.
Vous recevrez deux fichiers de cert dans un dossier Zip: www_votredomaine_com.ca/dossier www_votredomaine_com.crt
Vous ne pouvez télécharger qu'un seul fichier dans Parse: Parse SSL Cert Input Box
Dans le terminal, combinez les deux fichiers en utilisant:
cat www_yourdomain_com.crt www_yourdomain_com.ca-bundle > www_yourdomain_com_combine.crt
Puis téléchargez dans Parse. Cela devrait résoudre le problème avec Android Chrome et les navigateurs Firefox. Vous pouvez vérifier que cela a fonctionné en le testant à l'adresse https://www.sslchecker.com/sslchecker
Pour ceux qui ont ce problème sur les serveurs IIS.
Explication : parfois, les certificats portent à la place un URL d'un certificat intermédiaire du certificat actuel. Les navigateurs de bureau peuvent TÉLÉCHARGER le certificat intermédiaire manquant à l'aide de cette URL. Mais les anciens navigateurs mobiles sont incapables de le faire. Alors ils jettent cet avertissement.
Tu dois
1) assurez-vous que tous les certificats intermédiaires sont servis par le serveur
2) désactivez les chemins de certification inutiles dans IIS - Sous "Autorités de certification racines de confiance", vous devez "désactiver tout" pour le certificat qui déclenche le téléchargement.
PS mon collègue a écrit un billet de blog avec des étapes plus détaillées: https://www.jitbit.com/maxblog/21-errcertauthorityinvalid-on-Android-and-iis/
Le rapport de SSLabs dit:
This server's certificate chain is incomplete. Grade capped to B.
....
Chain Issues Incomplete
Les navigateurs de bureau ont souvent des certificats en chaîne mis en cache à partir de connexions précédentes ou les téléchargent à partir de l'URL spécifiée dans le certificat. Les navigateurs mobiles et autres applications ne le font généralement pas.
Corrigez votre chaîne en incluant les certificats manquants et tout devrait bien se passer.
J'espère que je ne suis pas trop en retard, cette solution ici a fonctionné pour moi, j'utilise COMODO SSL, les solutions ci-dessus semblent invalides avec le temps, mon site web lifetanstic.co.ke
Au lieu de contacter le support technique de Comodo et obtenir un fichier d'offre groupée d'AC, vous pouvez effectuer les opérations suivantes:
Lorsque vous recevez votre nouveau certificat SSL auprès de Comodo (par courrier électronique), un fichier Zip est joint. Vous devez décompresser le fichier Zip et ouvrir les fichiers suivants dans un éditeur de texte tel que le bloc-notes:
AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
Copiez ensuite le texte de chaque fichier ".crt" et collez-les au-dessus dans le champ "Autorité de certification (facultatif)".
Après cela, ajoutez simplement le certificat SSL comme d'habitude dans le champ "Certificat" et cliquez sur le bouton "Autofil par certificat", puis sur "Installer".
Inspiré par cet élément essentiel: https://Gist.github.com/ipedrazas/6d6c31144636d586dcc
J'ai également eu un problème avec la chaîne et j'ai réussi à résoudre en utilisant ce guide https://Gist.github.com/bradmontgomery/6487319
si, comme moi, vous utilisez AWS et CloudFront, voici comment résoudre le problème. c'est similaire à ce que d'autres ont partagé sauf que vous n'utilisez pas le fichier crt de votre domaine, mais ce que comodo vous a envoyé par courrier électronique.
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
cela a fonctionné pour moi et mon site n'affiche plus l'avertissement ssl sur chrome sous Android.
Une façon décente de vérifier s’il ya un problème dans votre chaîne de certificats est d’utiliser ce site Web:
https://www.digicert.com/help/
Branchez votre URL de test et il vous dira ce qui peut ne pas être correct. Nous avons eu un problème avec le même symptôme que vous, et notre problème a été diagnostiqué comme étant dû à des certificats intermédiaires.
Le certificat SSL n'est pas approuvé
Le certificat n'est pas signé par une autorité de confiance (vérification par rapport au magasin racine de Mozilla). Si vous avez acheté le certificat auprès d'une autorité de confiance, il vous suffira probablement d'installer un ou plusieurs certificats intermédiaires. Contactez votre fournisseur de certificats pour obtenir de l'aide pour votre plate-forme de serveur.
J'ai résolu mon problème avec ces commandes:
cat __mydomain_com.crt __mydomain_com.ca-bundle > __mydomain_com_combine.crt
et après:
cat __mydomain_com_combine.crt COMODORSADomainValidationSecureServerCA.crt
COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > mydomain.pem
Et dans mon domaine nginx .conf je mets sur le serveur 443:
ssl_certificate ssl/mydomain.pem;
ssl_certificate_key ssl/mydomain.private.key;
Je n'oublie pas de redémarrer votre "Nginx"
service nginx restart
J'imagine que vous devriez installer le certificat CA sous une forme si l'autorité canter:
ssl_trusted_certificate ssl/SSL_CA_Bundle.pem;
J'ai eu le même problème mais la réponse faite par Mike A m'a aidé à le comprendre: j'avais mon certificat, un certificat intermédiaire (Gandi), un autre intermédiaire (UserTrustRSA) et enfin le certificat RootCA (AddTrust).
Donc d’abord, j’ai créé un fichier chaîne avec Gandi + UserTrustRSA + AddTrust et je l’ai spécifié avec SSLCertificateChainFile. Mais ça n'a pas marché.
J'ai donc essayé de répondre MikeA en mettant tout simplement le certificat AddTruct dans un fichier et en le spécifiant avec SSLCACertificateFile et en supprimant SSLCertificateChainFile. Mais cela n'a pas fonctionné.
Donc, finalement, j’ai créé un fichier chaîne avec seulement Gandi + UserTrustRSA spécifié par SSLCertificateChainFile et l’autre fichier avec seulement le RootCA spécifié par SSLCACertificateFile et cela a fonctionné.
# Server Certificate:
SSLCertificateFile /etc/ssl/Apache/myserver.cer
# Server Private Key:
SSLCertificateKeyFile /etc/ssl/Apache/myserver.key
# Server Certificate Chain:
SSLCertificateChainFile /etc/ssl/Apache/Gandi+UserTrustRSA.pem
# Certificate Authority (CA):
SSLCACertificateFile /etc/ssl/Apache/AddTrust.pem
Cela semble logique lorsque vous lisez, mais espérons que cela vous aidera.