Я следовал этому руководству о том, как создать свой собственный ЦС и сертификаты конечных объектов. Моя конфигурация openssl центра сертификации (localhost) выглядит очень похоже на . Согласно этому посту я установил
[ v3_ca ]
basicConstraints = CA:TRUE
На моих настольных устройствах проблем вообще нет, и https работает нормально.
Проблемы возникают при попытке установить корневой сертификат на моем устройстве Android.
Сначала я установил корневой сертификат с помощью встроенной опции ' установить из хранилища ' ( Настройки / Безопасность / Хранилище учетных данных ). Https работает сейчас, но я всегда получаю сеть может отслеживаться предупреждение .
После этой статьи Я взял хеш сертификата, переименовал файл rootca.pem в файл {hashid} .0 , как предложено, и переместил его в / system / etc / security / cacerts / с использованием ADB на Windows PowerShell (также установите chmod
и chown
).
После перезагрузки телефона я вижу, что мой авторитетный сертификат был успешно добавлен в хранилище доверенных сертификатов для Android. По умолчанию он активен.
Теперь я избавился от предупреждения о сетевом мониторе, но ssl больше не работает. Android Chrome на удаленной отладке:
битый сертификат https отсутствует net :: ERR_UNEXPECTED (firefox на андроиде говорит SEC_ERROR_UNKNOWN_ISSUER
)
Есть ли способ обойти это / установить его правильно? Я что-то забыл?