Что мы используем для конфигурации сетевой безопасности Android N для самоподписанного сертификата?

Я пытаюсь проверить все аспекты возможностей сетевой безопасности для N Developer Preview. У меня большая часть работы, но я в тупике по сценарию самозаверяющего сертификата.

Согласно документам , Android N должен быть доволен файлом PEM или DER, как и для других сценариев проверки сертификатов. Тем не менее, я не очень хорошо работаю с самозаверяющими сертификатами, и мои попытки получить эту работу продолжают работать в исключениях проверки сертификатов.

Для тестирования я использую thin как сервер, работающий на моей машине разработки, доступный с помощью эмулятора N. Самозаверяющий сертификат работает для браузеров на моей машине разработки, и если я переключусь на использование thin SSL без SSL, приложения могут достичь сервера просто отлично. Таким образом, это не проблема подключения.

Я создал самозаверяющий сертификат, используя инструкции на этом сайте :

 sudo openssl genrsa -out "/etc/[webserver]/ssl/example.key" 2048 sudo openssl req -new -key "/etc/[webserver]/ssl/example.key" \ -out "/etc/[webserver]/ssl/example.csr" sudo openssl x509 -req -days 365 -in "/etc/[webserver]/ssl/example.csr" \ -signkey "/etc/[webserver]/ssl/example.key" \ -out "/etc/[webserver]/ssl/example.crt" 

Согласно этому ответу «Переполнение стека» , файл example.crt представляет собой файл PEM. В другом месте я вижу инструкции по созданию «комбинированного PEM» файла . Тем не менее, я пробовал оба из них, не повезло.

Что касается содержимого конфигурации сетевой безопасности, я попробовал как <domain-config> и <debug-overrides> . Последний выглядит так:

 <?xml version="1.0" encoding="utf-8"?> <network-security-config> <debug-overrides> <trust-anchors> <certificates src="@raw/selfsigned"/> </trust-anchors> </debug-overrides> </network-security-config> 

Но я получаю ошибку проверки в любом случае.

Что именно мы должны вводить в качестве файла PEM или DER в качестве исходного ресурса, который делает эту работу?

Похоже, что он работает над N Developer Preview 2, используя example.crt сгенерированный скриптами openssl указанными в вопросе. На данный момент я предполагаю, что в N Developer Preview 2 произошли изменения по сравнению с N Developer Preview 1, который учитывает изменение.

Intereting Posts
Как проверить, установлена ​​ли установка из магазина приложений Samsung Android – исключая ключ api из github, где хранить ключ api в коде? Потоковая загрузка VideoView не достаточно буферизирована Как получить время срабатывания будильника в приложении DeskClock Google? Android: Использование слабой ссылки на экземпляр активности / фрагмента вместо сильной ссылки? Hex To String в Java Производительность слишком медленная Как мы можем удалить динамически добавленные фрагменты из макета Почему код загрузки blobstore имеет URL перенаправления Поддерживает ли Android Volley SSL? Как взаимодействовать между WebView и JavaScript? Невозможно запустить несвязанный сервис внутри Android-теста JUnit 4 RabbitMQ – Случайные очереди с именем «amq.gen- *», получающим автогенерирование Android.text.format.DateFormat «HH» не распознается как с java.text.SimpleDateFormat Кордонский плагин никогда не будет готов в Android Gradle connectedAndroidTest возвращает «No test found», однако инструмент adb shell am может найти тесты