err_cert_authority_invalid - самозаверяющий CA недействителен на android, но работает на ПК - PullRequest
0 голосов
/ 25 апреля 2020

Я тестирую веб-сервер https и у меня возникла проблема при попытке получить к нему доступ с моего телефона android.

  • Используется программное обеспечение: Google Chrome и включено в версию сайта WebView;
  • устройства: работает Google Pixel 3a android 10, android студийный эмулятор с android 8.

Выполненный шаг:

  1. Используя этот скрипт: Получив Chrome для принятия самозаверяющего сертификата localhost , я сгенерировал сертификаты и ключи для своего сервера для доступа к нему через IP: 192.168.0.101 (в скрипте DNS alt_name заменен на IP );

  2. Ран golang (также пробовал nodejs) веб-сервер с последующей парой сертификат / ключ: http.ListenAndServeTLS("192.168.0.101:8443", "/home/username/ssl/192.168.0.101.crt", "/home/username/ssl/192.168.0.101.key", router)

  3. Добавлено myCA.pem как доверенный орган в десктопе Google Chrome и он работает;

  4. Добавлен тот же myCA.pem, что и доверенный орган в android хранилище сертификатов, попытался перезагрузить chrome / устройство, но оно по-прежнему недействительно.

Не уверен, что это важно, но именно так оно выглядит на P C* 10 37 *

И на телефоне Android на вкладке Пользователь в доверенных учетных данных

1 Ответ

0 голосов
/ 28 апреля 2020

Такое ощущение, что я что-то не так сделал с Server Cert (но ошибка относится к CA) и / или CA, и я понятия не имею, почему он работал на P C.

Я заново создал все сертификаты с последующими настройками:

CN=localhost
[alt_names]
IP.1=127.0.0.1
IP.2=192.168.0.101
IP.3=<external_ip_here_to_check_from_the_web>

И он отлично работает на обеих платформах.

...