web-dev-qa-db-fra.com

Android Studio: le certificat du serveur n'est pas approuvé

Est-il prudent d'ignorer cet avertissement? Il apparaît lorsque je crée un nouveau projet dans Android Studio:

Server's certificate is not trusted

Certificate details

Issued To

CN (Common Name)       *.google.com
O (Organization)       Google Inc
L (Locality)           Mountain View
C (Country)            US
ST (State or Province) California

Issued By

CN (Common Name)       Google Internet Authority G2
O (Organization)       Google Inc
C (Country)            US

Validity Period

Valid from:            9/24/14
Valid until:           12/23/14

...

La date a l'air bien et j'ai vérifié les paramètres de date de mon ordinateur pour être sûr. Pourquoi serait-il autrement "pas de confiance"?

26
szx

Android Studio a une configuration pour les certificats de serveur (cela fonctionne également pour d'autres plates-formes IntelliJ telles que PyCharm)

Allez dans Fichier-> Paramètres . Dans le IDE Paramètres section sélectionnez Certificats de serveur  

Moi-même je viens de cocher la case Accepter automatiquement /, cliquer sur Appliquer et ne jamais avoir à s'en occuper. Si vous êtes inquiet pour la sécurité, vous pouvez également les ajouter un par un au fur et à mesure de leur apparition.

Dans mon cas, je l’ai fait parce que j’avais déjà un certificat * .google.com configuré comme accepté, mais j’ai quand même eu le popup. Je soupçonne que l’empreinte digitale a changé et que si j’avais effacé puis accepté l’erreur aurait disparu, j’ai décidé de la faire disparaître en cochant la case correspondante.

34
GR Envoy

Il n’est pas prudent d’ignorer cet avertissement. Quelqu'un pourrait tenter une attaque de type "man-in-the-middle" avec un faux certificat afin d'installer un logiciel malveillant sur votre ordinateur via le processus de mise à jour. Cela ne se produit probablement pas, mais il est toujours préférable de faire les choses correctement en matière de sécurité.

Vous devez plutôt ajouter des certificats racine de confiance au magasin de clés Android Studio. L'emplacement et le mot de passe par défaut du magasin de clés doivent être répertoriés au bas de cet avertissement. Par exemple, le mien est à ~/Library/Caches/AndroidStudio/tasks/cacerts. Ensuite, vous voudrez trouver le certificat racine dans la chaîne présentée par le serveur. Malheureusement, l'avertissement ne répertorie pas la totalité de la chaîne, il faut donc un peu de travail pour la trouver. Le certificat Google Internet Authority G2 est le même que celui utilisé pour signer les certificats des sites de Google. Vous pouvez afficher la chaîne dans Chrome en allant sur google.com, en cliquant sur le verrou vert, puis sur "Informations sur le certificat" dans l'onglet de connexion. À ce stade, vous pouvez vérifier que les hachages de l'avertissement correspondent aux hachages du vrai certificat G2. Vous verrez également que le certificat racine s'appelle Equifax Secure Certificate Authority. Vous pouvez le télécharger à partir de https://www.geotrust.com/resources/root-certificates/ . Ensuite, vous devrez l'ajouter au magasin de clés:

keytool -import -alias equifaxca \
-file Equifax_Secure_Certificate_Authority.pem -keystore cacerts

Enfin, redémarrez Android Studio. Cet avertissement ne devrait plus apparaître avant le 22 août 2018, à moins que quelqu'un ne présente réellement un faux certificat.

14
user695022

Pour le système d'exploitation Mac, il s'agit du menu Android Studio-> Préférences-> Outils-> Certificats de serveur. 

Dans la partie supérieure droite de la fenêtre, cochez la case Accepter automatiquement les certificats non approuvés. Cliquez sur Appliquer et ok.

4
Saleh Enam Shohag

J'ai rencontré ce problème après avoir ajouté un référentiel Maven avec un certificat SSL signé par une autorité de certification non standard.

Lors de l'exécution de la génération Gradle pour mon projet à partir de ma ligne de commande, tout fonctionnait correctement (j'avais ajouté l'autorité de certification personnalisée à la machine d'installation Java de la machine). J'ai eu un problème avec la compilation du studio Android, cependant, et j'ai eu des erreurs comme celle-ci:

> Could not resolve joda-time:joda-time:2.9.9.
  > Could not get resource 'https://custom-maven-repo.com/repository/releases/joda-time/joda-time/2.9.9/joda-time-2.9.9.pom'.
    > Could not GET 'https://custom-maven-repo.com/repository/releases/joda-time/joda-time/2.9.9/joda-time-2.9.9.pom''.
      > Sun.security.validator.ValidatorException: PKIX path building failed: Sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        > PKIX path building failed: Sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
          > unable to find valid certification path to requested target

J'ai téléchargé le fichier pem de l'autorité de certification personnalisée, appelé my-ca.pem. J'ai essayé d'ajouter ceci à Android Studio dansPréférences -> Outils -> Certificats de serveur, mais cela n'a pas résolu le problème.

J'ai remarqué qu'Android Studio utilise un JDK intégré (Fichier -> Structure du projet -> Emplacement du SDK -> Emplacement du JDK) à /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home. Pour que le certificat soit accepté, j'ai exécuté (sous Mac OS X) ces commandes afin d'ajouter le certificat, puis de supprimer le processus Java d'Android Studio:

/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/bin/keytool -import -alias my-ca -keystore /Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/security/cacerts -storepass changeit -file path/to/my-ca.pem -noprompt
kill -9 $(ps -A | grep Java | grep "Android Studio" | grep -v grep | awk '{print $1}')

L'exécution de la version graduée à partir d'Android Studio a ensuite fonctionné.

Une autre solution consiste à configurer Android Studio pour utiliser un JDK personnalisé à l'aide de votre certificat d'autorité de certification installé sur votre ordinateur à l'aide du menu situé dansFichier -> Structure du projet -> Emplacement du SDK. -> Emplacement du JDK

1
oggmonster

Depuis AndroidStudio 1.5.1 Vous pouvez aller dans Préférences -> Outils -> Certificats de serveur et cliquez sur le bouton + pour ajouter manuellement les certificats à sécuriser.

1
chrisortman

Il manque un certificat système spécifique à Java. Si vous utilisez Ubuntu et Oracle JRE/JDK, installez le package ca-certificates-Java.

0
Quang Ngô

Android Studio a une configuration pour les certificats de serveur.

Il suffit de suivre ces étapes -

Allez dans Fichier -> Paramètres . Dans la section Outils , sélectionnez Certificats de serveur .

Moi-même je viens de cocher la case Accepter les certificats non approuvés /, cliquer sur Appliquer et ne jamais avoir à gérer. 

0
Naveen Kumar Yadav