106 lines
4.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

самоподписанный сертификат. проблема в том, что не полуается его в доверенные добавть
1. Запустить эмулятор, потом добавить сертификат в sdcard/Download
adb push "/home/tatyana/Рабочий стол/ssl_test/localhost.crt" /sdcard/Download/
tatyana@fedora:~/Рабочий стол/ssl_test$ adb push "/home/tatyana/Рабочий стол/ssl_test/localhost.crt"
/sdcard/Download/
/home/tatyana/Рабочий стол/...pped. 12.2 MB/s (1046 bytes in 0.000s)
tatyana@fedora:~/Рабочий стол/ssl_test$
2. Сверзу нажать груг = хоум, Зайти в настройки устройства в самом эмуляторе
3. Найти "Encryption and Credentials /«Шифрование и учетные данные
4. Выбираем установка (второй пункт vpn ....)
5. сертификат будет в загрузках (пункт 1) на карте
6. Объединить ключ и сертификат
openssl pkcs12 -export -inkey localhost.key -in localhost.crt -out localhost.p12
7. перенести на устройство
adb push /home/tatyana/Рабочий\ стол/ssl_test/localhost.p12 /sdcard/Download/
/////////////////////////////////////////
2 способ поместить в доверенные в ручную
app/
src/
main/
res/
raw/
your_cert.der
Конечно! Ниже я подробно объясню, как доверять самоподписанному сертификату в эмуляторе Android для разработки, используя network_security_config.xml. Это наиболее безопасный и удобный способ для тестирования в приложениях без необходимости рутировать устройство или эмулятор.
Подробная инструкция: доверие к самоподписанному сертификату в Android через network_security_config.xml
Шаг 1. Подготовьте ваш сертификат
1.1. Экспортируйте сертификат в нужном формате
Если у вас есть .p12 или .crt, убедитесь, что он в формате .der или .pem.
Для этого используйте команду OpenSSL:
bash
# Извлечь сертификат из p12 в PEM
openssl pkcs12 -in localhost.p12 -clcerts -nokeys -out localhost.pem
или
bash
# Конвертировать PEM в DER (бинарный формат)
openssl x509 -in localhost.pem -outform DER -out localhost.der
Важно: Назовите файл, например, your_cert.der.
1.2. Поместите сертификат в проект
В вашем проекте Android создайте папку res/raw/ (если ее еще нет).
Поместите туда файл your_cert.der.
Шаг 2. Создайте файл конфигурации network_security_config.xml
Этот файл укажет вашему приложению доверять вашему сертификату.
2.1. Создайте папку и файл
В вашем проекте перейдите по пути: app/src/main/res/xml/
Если папки xml нет, создайте ее.
Внутри создайте файл network_security_config.xml.
2.2. Напишите содержимое файла
xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain>your.server.domain</domain> <!-- замените на ваш домен или IP -->
<trust-anchors>
<certificates src="@raw/your_cert" />
</trust-anchors>
</domain-config>
</network-security-config>
Обратите внимание:
Замените your.server.domain на ваш реальный сервер или IP, к которому вы подключаетесь.
Если вы хотите доверять всему трафику (не рекомендуется), можно оставить <domain>, а не указывать конкретный.
Шаг 3. Обновите AndroidManifest.xml
Добавьте ссылку на конфигурацию безопасности в ваш манифест:
xml
<application
android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>