Я намагаюся встановити самопідписаний сертифікат для свого веб-сервера в Android 4.3. У мене є .crt-файл у корені карти SD (який насправді емулюється, оскільки у мене немає слота SD у слоті).
Щоб встановити сертифікат, перейдіть у меню Налаштування -> Загальне -> Захист -> Зберігання даних -> Встановити зі сховища пристрою.
У мене з'являється діалогове вікно із зазначенням назви сертифіката (ім'я файлу мінус розширення .crt), яке я можу змінити (але не робити), "використовується для" витягування з вибраними "VPN та додатками" та текстом у нижній частині діалогового вікна, в якому повідомляється "Пакет містить: один сертифікат користувача". Все виглядає нормально, тому я натискаю "Ок". Діалогове вікно вимкнеться, і з'явиться тост-повідомлення із встановленим "[ім'ям]".
Однак якщо я негайно перейду до "Довірених облікових даних і виберіть" Користувач ", нічого там немає! Новий сертифікат також не під" Системою ", але я цього не очікував би. Якщо я перейду до цього браузера і спробую перейти до свого веб-сайт, я все ще отримую попередження про те, що сертифікат сайту не довіряється. Я також спробував перезавантажити, але це не має значення.
Що я роблю неправильно? Повна відсутність повідомлень про помилки не є корисною. Чи можливо мій сертифікат у неправильному форматі? Я спробував використовувати файл .crt у каталозі ssl сервера, і спробував перетворити його у формат DER.
Оновлення: я десь читав, що Android вимагає, щоб сертифікати були у форматі p12, тому я перетворив сертифікат Apache2 у p12 за допомогою наступної команди:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
Потім я повторив вищезазначені дії, отримав те саме повідомлення про успіх, а потім продовжував бачити сертифікат у облікових даних користувачів, і я все одно отримую недовірену помилку сертифіката з мобільного браузера.