web-dev-qa-db-fra.com

Comment puis-je résoudre le problème "Aucun certificat trouvé - L'application Chrome a demandé un certificat" Android / Google Chrome

Le problème

Certains utilisateurs de notre site Web rencontrent un problème lors de l'accès à des zones sécurisées de notre site Web, sur des appareils Android, dans Google Chrome.

Cela ressemble à ceci;

No certificates found' error, as seen in Chrome on Samsung Galaxy S6 (Android v5)

J'ai pu reproduire le problème sur les appareils suivants à l'aide des tests de périphérique physique de Browserstack;

  • Samsung Galaxy S6, Samsung Galaxy S5, Samsung Galaxy S4 (Android v5 et v4.4)
  • Nexus 6 (Android v6, v5 et v4.4)
  • Moto X 2nd Gen (Android v6 et v5)

Ma recherche

Tous les articles, forums et questions que j'ai lus en ligne (et il n'y en a pas beaucoup, sauf si je cherche la mauvaise chose) pointent vers l'installation et la configuration du serveur et/ou du certificat SSL, et que le problème rencontré est intentionnellement.

Solution suggérée 1

L'article le plus utile que j'ai trouvé jusqu'à présent est Numéro 268055 "Aucun certificat trouvé" sur le suivi des problèmes de chrome.

Commentaire 18 suggère de modifier les paramètres SSL dans IIS;

Je peux résoudre le problème si vous avez accès à IIS. Fondamentalement, vous devez accéder aux paramètres SSL et vous assurer que l'option SSL requis n'est pas cochée et que "Ignorer" est sélectionné pour les certificats clients .

Commentaire 28 le sauvegarde;

Pour le cas non Googler, ce message d'erreur se produit uniquement lorsque vous rencontrez un site qui demande un certificat client. Il n'y a rien que Chrome puisse faire ici - le site a demandé un certificat client, et même pour savoir si un certificat client est valide, Chrome pour Android doit demandez à l'OS. C'est l'invite que vous voyez - elle est contrôlée par Android et toutes les applications (Google ou autre) sont nécessaires pour passer par ce flux.

Cela se produira avec tout site configuré pour demander des certificats clients, afin de résoudre ce problème, ne demandez pas de certificats clients ou configurez vos appareils Android pour avoir des certificats clients (par exemple via une application de gestion de périphériques ou via l'installation d'un fichier PKCS # 12).

kamakshi: C'est tout le comportement "By Design", mais nécessite que les opérateurs de serveur changent, donc je ne sais pas quoi faire avec ce bogue.

Tout comme commentaire 4 ;

Je ne pense pas que les gens sur ce bogue en sauraient beaucoup sur la configuration d'IIS. Vous voudriez en parler avec Microsoft. De la recherche autour, "Ignorer le certificat client" semble être l'option que vous souhaitez .

Nous l'avons fait, mais cela ne semble pas avoir fait de différence.

IIS SSL settings

IIS SSL settings

Solution suggérée 2

Une autre question ici sur Stack (" certificat de confiance sur PC mais pas sur Android ") suggère qu'un certificat intermédiaire pourrait être manquant;

Il se peut que vous manquiez un certificat intermédiaire dans votre fichier cert . Si vous avez déjà visité un autre site Web qui a le même vendeur de certificats, le certificat intermédiaire est mémorisé dans votre navigateur. Cela pourrait ne pas être le cas de tous les visiteurs de votre site Web, ni même mieux. Pour résoudre un certificat intermédiaire manquant dans la connexion SSL, vous devrez ajouter le certificat intermédiaire à votre propre fichier de certificat .

J'ai vérifié et nous avons un certificat de domaine (qui n'est pas un certificat générique), un certificat intermédiaire et un certificat racine, donc je ne ' Je ne pense pas que ce soit le problème. J'ai également exécuté un test site checker sur le site Web Networking4all, et un test SSL sur le site Web Qualys SSL et les deux cheminent sans erreurs ni avertissements.

Ma question

Quelqu'un d'autre a-t-il rencontré ce problème? Y a-t-il d'autres solutions que nous pouvons essayer de résoudre? Je suis à court d'idées à ce stade, donc tout conseil serait grandement apprécié.

Quelques détails supplémentaires au cas où

Le serveur sur lequel se trouve le site Web exécute Windows Server 2008 R2 et IIS 7.5, et notre fournisseur de certificats SSL est Thawte.

Merci d'avance!

25
LHKC

Après avoir résolu exactement le même problème, voici ce que j'ai trouvé ...

Spécifications du serveur (essentiellement les mêmes que O.P)

  • Windows Server 2008 r2
  • IIS 7.5
  • Fournisseur SSL: GeoTrust RapidSSL

Premier problème: politiques cryptographiques obsolètes

Plusieurs articles ont souligné que le serveur peut avoir des politiques cryptographiques obsolètes. Un peu de recherche a révélé que tout doit être configuré à l'aide des paramètres de registre. Voir l'article de support MS Comment restreindre l'utilisation de certains algorithmes et protocoles cryptographiques dans Schannel.dll pour des informations détaillées.

Vous ne savez pas si votre serveur est à jour? SSL Labs 'Server Test est un excellent outil pour valider les politiques cryptographiques de votre site.

Modifier manuellement le registre?

L'article MS Support détaille la modification des clés de registre. Aack! Un peu plus de recherche et j'ai trouvé un excellent utilitaire appelé IIS Crypto by Nartac Software qui mettra à jour toutes les clés de registre en un seul clic. Pour info: un redémarrage est également requis.

Depuis le site Nartac Software:

IIS Crypto est un outil gratuit qui permet aux administrateurs d'activer ou de désactiver des protocoles, des chiffrements, des hachages et des algorithmes d'échange de clés sur Windows Server 2008, 2012 et 2016. Il vous permet également de réorganiser les suites de chiffrement SSL/TLS proposées par IIS, de mettre en œuvre les meilleures pratiques en un seul clic, créez des modèles personnalisés et testez votre site web.

Deuxième problème: paramètres de site SSL IIS SSL incorrects)

La racine de ce problème en raison de la valeur par défaut IIS définissant les paramètres SSL sur "Accepter" les certificats client. Il n'est pas nécessaire d'accepter les certificats client, définissez simplement le paramètre sur "Ignorer" ( à partir de l'image suggérée par le PO # 1).

Remarque: L'image montre que "Exiger SSL" n'est pas coché; pour cette discussion, s'il est coché n'est pas pertinent. Tout ce qui compte, c'est que le site puisse se connecter en utilisant https.

Ignore Client certificates in IIS

Emballer

Une fois que le serveur a reconfiguré les politiques cryptographiques et que l'erreur IIS SSL a été définie pour ignorer les certificats client, l'erreur " Aucun certificat trouvé" sera résolue.

11
Metro Smurf