Подтвердить что ты не робот

Android Studio: сертификату сервера не доверяют

Можно ли игнорировать это предупреждение? Он появляется, когда я создаю новый проект в Android Studio:

Server 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

...

Дата выглядит хорошо, и я точно проверил настройки своих компьютеров. Почему еще это было бы "не доверено"?

4b9b3361

Ответ 1

Android Studio имеет конфигурацию для сертификатов сервера (это работает для других платформ IntelliJ, таких как PyCharm)

Перейдите в Файл- > Настройки. В разделе Параметры IDE выберите Сертификаты сервера

Я сам выбрал флажок Принять автоматически, нажмите "Применить" и никогда не должен был с ним справляться. Если вы беспокоитесь о безопасности, есть возможность добавить их по одному, когда они появятся.

В моем случае я сделал это, потому что у меня уже был сертификат *.google.com, настроенный как принятый, но у меня все еще есть всплывающее окно. Я подозреваю, что отпечаток пальца изменился, и если бы я удалил, а затем принял ошибку, ушел бы, но я решил просто убрать его, установив флажок.

Ответ 2

Нельзя игнорировать это предупреждение. Кто-то может попытаться атаковать "человек-в-середине" поддельным сертификатом, чтобы установить вредоносное ПО на ваш компьютер с помощью процесса обновления. Это, вероятно, не происходит, но всегда лучше делать все правильно, когда дело доходит до безопасности.

Вместо этого вы должны добавить корневые сертификаты, которым вы доверяете, в хранилище ключей Android Studio. Местоположение и пароль по умолчанию хранилища ключей должны быть указаны в нижней части этого предупреждения. Например, мой имеет значение ~/Library/Caches/AndroidStudio/tasks/cacerts. Затем вам нужно будет найти корневой сертификат в цепочке, которую представляет сервер. К сожалению, предупреждение не перечисляет всю цепочку, поэтому для ее поиска требуется небольшая работа. Сертификат Google Internet Authority G2 - тот же, который используется для подписания сертификатов для сайтов Google. Вы можете просмотреть цепочку в Chrome, перейдя на google.com, нажав зеленую блокировку, а затем "Информация сертификата" на вкладке подключения. На этом этапе вы можете проверить, что хеши в предупреждении соответствуют хэшам для реального сертификата G2. Вы также увидите, что корневой сертификат имеет имя Equifax Secure Certificate Authority. Вы можете загрузить его из https://www.geotrust.com/resources/root-certificates/. Затем вам нужно добавить его в хранилище ключей:

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

Наконец, перезапустите Android Studio. Это предупреждение не должно появляться до 22 августа 2018 года, если только кто-то не представляет фальшивый сертификат.

Ответ 3

Для операционной системы Mac она находится в меню Android Studio- > Preferences- > Tools- > Server Certificates.

В верхней части правого бокового окна установите флажок "Принять неопознанные сертификаты" автоматически. Хит применяется и нормально.

Ответ 4

Я столкнулся с этой проблемой после добавления репозитория maven с SSL-сертификатом, подписанным нестандартным центром сертификации (CA).

Когда я запускал сборку gradle для моего проекта из командной строки, все работало нормально (я добавил пользовательский CA в свои установочные Java-машины). Однако у меня были проблемы с запуском сборки из Android-студии, и я получал такие ошибки:

> 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

Я скачал файл pem для пользовательского центра сертификации, который называется my-ca.pem. Я пытался добавить это в Android Studio в НастройкиИнструментыСертификаты сервера, но это не помогло.

Я заметил, что Android Studio использует встроенный JDK (ФайлСтруктура проектаМестоположение SDKМестоположение JDK) в /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home. Чтобы получить сертификат, я выполнил (в Mac OS X) эти команды, чтобы добавить сертификат, а затем завершил Java-процесс 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}')

Запустил сборку Gradle из Android Studio.

Альтернативное решение - настроить Android Studio для использования пользовательского JDK, используемого на вашем компьютере, на котором установлен сертификат CA, с помощью меню ФайлСтруктура проектаРасположение SDKРасположение JDK.

Ответ 5

Начиная с AndroidStudio 1.5.1 Вы можете перейти в Настройки → Сервис → Сертификаты сервера и нажать кнопку +, чтобы вручную добавить сертификаты, которым следует доверять.

Ответ 6

Отсутствует системный сертификат для Java. Если вы используете Ubuntu и Oracle JRE/JDK, установите пакет ca-certificates-java.

Ответ 7

Android Studio имеет конфигурацию для сертификатов сервера.

Просто следуйте этим шагам -

Перейдите на File-> Настройки. В разделе Инструменты выберите Сертификаты сервера.

Я сам установил флажок " Принимать недоверенные сертификаты автоматически", нажал "Применить" и никогда не сталкивался с этим.

Ответ 8

Ни один из ответов не помог мне, так что, надеюсь, это поможет кому-то еще.

Перезапуск моей машины помог мне. (Когда сомневаешься, верно?)