- Как установить доверенный сертификат ЦС на Android-устройство?
- 10 ответов
- Как установить и удалить цифровые сертификаты на Android
- Что такое цифровые сертификаты?
- Как устанавливаются новые сертификаты?
- Удалить личные сертификаты
- Knowledge Content
- Появляется уведомление о том, что может осуществляться мониторинг сети
Как установить доверенный сертификат ЦС на Android-устройство?
Я создал свой собственный сертификат CA и теперь хочу установить его на свое устройство Android Froyo (HTC Desire Z), чтобы оно доверяло моему сертификату.
Android хранит сертификаты ЦС в своем хранилище ключей Java в /system/etc/security/cacerts.bks . Я скопировал файл на свой компьютер, добавил свой сертификат с помощью portecle 1.5 и отправил его обратно на устройство.
Теперь Android, похоже, не перезагружает файл автоматически. Я прочитал в нескольких сообщениях в блоге, что мне нужно перезагрузить устройство. Это приведет к тому, что файл снова будет перезаписан исходным.
Следующей моей попыткой было установить сертификат с SD-карты, скопировав его и используя соответствующую опцию в меню настроек. Устройство сообщает мне, что сертификат установлен, но, видимо, не доверяет сертификату. Более того, когда я пытаюсь скопировать хранилище ключей на свой компьютер, я все равно нахожу исходное хранилище cacerts.bks .
Итак, как правильно установить мой собственный сертификат корневого ЦС на устройстве Android 2.2 в качестве доверенного сертификата? Есть ли способ сделать это программно?
10 ответов
До Android KitKat вам необходимо выполнить рутирование устройства, чтобы установить новые сертификаты.
С Android KitKat (4.0) до Nougat (7.0) это возможно и просто. Мне удалось установить сертификат Charles Web Debbuging Proxy на мое некорневое устройство и успешно прослушивать SSL-трафик.
До версии Android 4.0 с версией Android Gingerbread & Froyo существовал единственный файл, доступный только для чтения (/system/etc/security/cacerts.bks), содержащий хранилище доверенных сертификатов со всеми сертификатами CA (‘system’), которым по умолчанию доверяют. Android. Его используют как системные приложения, так и все приложения, разработанные с помощью Android SDK. Используйте эти инструкции по установке сертификатов CAcert на Android Gingerbread, Froyo, .
Начиная с Android 4.0 (Android ICS / ‘Ice Cream Sandwich’, Android 4.3 ‘Jelly Bean’ и Android 4.4 ‘KitKat’), системные доверенные сертификаты находятся в системном разделе (только для чтения) в папке ‘/ system / etc / security / ‘как отдельные файлы. Однако теперь пользователи могут легко добавлять свои собственные «пользовательские» сертификаты, которые будут храниться в «/ data / misc / keychain / certs-added».
Системными сертификатами можно управлять на устройстве Android в разделе «Настройки» -> «Безопасность» -> «Сертификаты» -> «Система», а доверенные сертификаты пользователя — в разделе «Пользователь». При использовании доверенных сертификатов пользователя Android вынуждает пользователя устройства Android применять дополнительные меры безопасности: использование PIN-кода, блокировки с использованием графического ключа или пароля для разблокировки устройства является обязательным при использовании сертификатов, предоставленных пользователем.
Установить сертификаты CAcert как «доверенные» сертификаты пользователя очень просто. Установка новых сертификатов в качестве «доверенных системным» сертификатов требует больше работы (и требует корневого доступа), но это дает то преимущество, что позволяет избежать требования блокировки экрана Android.
Начиная с Android N становится немного сложнее, см. этот отрывок из Прокси-сайт Charles:
Начиная с Android N, вам необходимо добавить конфигурацию в свое приложение, чтобы оно доверяло сертификатам SSL, созданным Charles SSL Proxying. Это означает, что вы можете использовать SSL-прокси только с приложениями, которые вы контролируете.
Чтобы настроить приложение на доверие Чарльзу, вам необходимо добавить в приложение файл конфигурации сетевой безопасности. Этот файл может переопределить системное значение по умолчанию, позволяя вашему приложению доверять установленным пользователем сертификатам CA (например, корневому сертификату Charles). Вы можете указать, что это применяется только в отладочных сборках вашего приложения, чтобы производственные сборки использовали профиль доверия по умолчанию.
Добавьте в приложение файл res / xml / network_security_config.xml:
Затем добавьте ссылку на этот файл в манифест приложения следующим образом:
Я потратил много времени, пытаясь найти ответ на этот вопрос (мне нужен Android, чтобы увидеть сертификаты StartSSL). Вывод: Android 2.1 и 2.2 позволяют импортировать сертификаты, но только для использования с WiFi и VPN. Пользовательского интерфейса для обновления списка доверенных корневых сертификатов нет, но обсуждается возможность добавления этой функции. Неясно, существует ли надежный обходной путь для ручного обновления и замены файла cacerts.bks.
Подробности и ссылки: http://www.mcbsys.com/techblog/2010/ 12 / android-сертификаты /. В этом сообщении см. Ссылку на ошибку Android 11231 — возможно, вы захотите добавить свой голос и запрос к этой ошибке.
Руководство, связанное здесь, вероятно, ответит на исходный вопрос без необходимости для программирования настраиваемого коннектора SSL.
Нашел очень подробное руководство по импорту корневых сертификатов, которое фактически поможет вам установить доверенные сертификаты CA на разные версии устройств Android (среди других устройств).
В основном вам необходимо:
Загрузите: файл cacerts.bks со своего телефона.
adb pull /system/etc/security/cacerts.bks cacerts.bks
Загрузите файл .crt из удостоверяющего центра, который вы хотите разрешить.
Измените файл cacerts.bks на своем компьютере с помощью BouncyCastle Provider.
Загрузите файл cacerts.bks обратно на свой телефон и перезагрузитесь.
Вот более подробные пошаговые инструкции по обновлению более ранних версий телефонов Android: Как обновить хранилище ключей центра сертификации безопасности HTTPS в версиях до Android- 4.0 устройство
Для этого есть НАМНОГО более простое решение, чем опубликованное здесь или в связанных темах. Если вы используете веб-просмотр (как и я), вы можете добиться этого, выполнив в нем функцию JAVASCRIPT. Если вы не используете веб-просмотр, вы можете создать для этой цели скрытый. Вот функция, которая работает практически в любом браузере (или веб-просмотре), чтобы запустить установку CA (обычно через общий репозиторий сертификатов os, в том числе на Droid). Он использует хороший трюк с iFrames. Просто передайте этой функции URL-адрес файла .crt:
Трюк с iframe работает на дроидах с API 19 и выше, но более старые версии веб-просмотра не будут работать так. Однако общая идея по-прежнему работает — просто загрузите / откройте файл с помощью веб-просмотра, а затем позвольте операционной системе взять на себя управление. Это может быть более простое и универсальное решение (сейчас в реальной java):
Обратите внимание, что instance_ — это ссылка на Activity. Это отлично работает, если вы знаете URL-адрес сертификата. В моем случае, однако, я решаю это динамически с помощью программного обеспечения на стороне сервера. Мне пришлось добавить изрядное количество дополнительного кода, чтобы перехватить URL-адрес перенаправления и вызвать его таким образом, чтобы не вызвать сбоя из-за сложности потоковой передачи, но я не буду добавлять сюда всю эту путаницу .
Что я сделал, чтобы использовать сертификаты startssl, было довольно просто. (на моем рутированном телефоне)
Я скопировал /system/etc/security/cacerts.bks на свою SD-карту
Зашел на portecle.sourceforge.net и запустил portecle прямо с веб-страницы.
Открыл мой файл cacerts.bks с моей SD-карты (ничего не ввел при запросе пароля)
Выберите импорт в портакле и откройте sub.class1.server.ca.crt, в моем случае он уже имел ca.crt, но, возможно, вам также нужно установить его.
Сохранил хранилище ключей и скопировал его baxck в /system/etc/security/cacerts.bks (на всякий случай я сделал резервную копию этого файла)
Перезагрузил телефон, и теперь я могу без ошибок заходить на свой сайт, используя сертификат startssl.
Если у вас есть рутированное устройство, вы можете использовать модуль Magisk для перемещения пользовательских сертификатов в систему, чтобы он стал доверенным сертификатом.
Эти шаги работали для меня:
- Установите приложение Dory Certificate для Android на свое мобильное устройство: https: //play.google.com/store/apps/details?id=io.tempage.dorycert&hl=en_US
- Подключите мобильное устройство к ноутбуку с помощью USB-кабеля.
- Создайте корневую папку во внутренней памяти телефона, скопируйте файл сертификата в эту папку и отсоедините кабель.
- Откройте приложение Dory Certificate для Android, нажмите круглую кнопку [+] и выберите правильный вариант «Импортировать сертификат файла».
- Выберите формат, укажите имя (я ввел то же, что и имя файла), просмотрите файл сертификата и нажмите [OK].
- Появятся три карты. Я проигнорировал карту, на которой была только кнопка [ПОДПИСАТЬ CSR], и щелкнул кнопку [УСТАНОВИТЬ] на двух других картах.
- Я обновил веб-приложение PWA, которое я не открывал в своем мобильном Chrome (он размещен на локальном веб-сервере IIS) и вуаля! Нет предупреждающего сообщения о Chrome. Зеленый замок был там. Это было сработало.
В качестве альтернативы я нашел следующие варианты, которые мне не нужно было пробовать самому, но которые выглядели простыми:
Наконец, это может быть неактуальным, но, если вы хотите создать и настроить самозаверяющий сертификат (с помощью mkcert) для своего приложения (веб-сайта) PWA, размещенного на локальном веб-сервере IIS, я следил за этой страницей:
Спасибо и надеюсь, что это поможет !! 🙂
Вот альтернативное решение, которое фактически добавляет ваш сертификат во встроенный список сертификатов по умолчанию: Доверие ко всем сертификатам с использованием HttpClient через HTTPS
Однако это будет работать только для вашего приложения. Невозможно программно сделать это для всех приложений на устройстве пользователя, поскольку это может представлять угрозу безопасности.
Вы пробовали: Настройки -> Безопасность -> Установить с SD-карты? — Александр Эггер 20 дек.
Я не уверен, почему это еще не ответ, но я просто последовал этому совету, и он сработал.
Если вам нужен ваш сертификат для соединений HTTPS, вы можете добавить файл .bks в качестве необработанного ресурса в свое приложение и расширить DefaultHttpConnection, чтобы ваши сертификаты использовались для соединений HTTPS.
Источник
Как установить и удалить цифровые сертификаты на Android
Хотя наш терминал готов к работе одновременно с тем, как мы включаем его в первый раз, правда в том, что бывают случаи, когда его безопасность заставляет нас использовать известные цифровые сертификаты. Эта опция доступна на всех Android терминалы и могут быть необходимо для успешного проведения некоторых процедур.
Безопасность — один из самых важных разделов наших смартфонов. Как мы говорим, есть определенные моменты, когда приложению или сети нужен сертификат, которого у нас нет , и которые мы должны использовать для выполнения конкретной задачи или процедуры.
Что такое цифровые сертификаты?
Так называемые цифровые сертификаты идентифицируют компьютеры, телефоны и приложения по соображениям безопасности. Сопоставимым примером могут быть наши водительские права, которые используются для подтверждения того, что мы можем водить машину на законных основаниях. Таким же образом цифровой сертификат идентифицирует наше устройство и подтверждает имеющиеся у него права доступа.
В нашем мобильном мы можем найти несколько типов устройств. Первые установлены в самой системе и активны, поэтому все функции нашего мобильного телефона могут работать нормально. Вторые — те, которые мы установили вручную, чтобы получить доступ к определенным услугам, таким как как веб-страницы госуслуг, где уровень безопасности высок по понятным причинам.
Если мы зайдем в Настройки / Безопасность / Шифрование и учетные данные, мы можем ознакомиться со всеми этими сертификатами. Как мы говорим, цель состоит в том, чтобы наш терминал может без проблем получить доступ к большому количеству функций. Например, если мы посмотрим на длинный список, мы увидим некоторые из них, такие как «Google Trust Services», отвечающие за работу с сертификатами как Google, так и всего Alphabet.
Как устанавливаются новые сертификаты?
Поскольку все чаще проводить процедуры, требующие обмена конфиденциальной информацией, это Возможно, что в некоторых случаях нам придется установить цифровой сертификат. Например, в Испании это Фабрика национальной валюты и марок, которая действует как «поставщик сертификационных услуг», предоставляя нам различные типы электронных сертификатов, с помощью которых мы можем идентифицировать себя и выполнять формальные процедуры. безопасно через Интернет.
Чтобы установить новые сертификаты, мы должны сначала скачал файл с соответствующего веб-сайта. После этого мы нажимаем на Настройки / Безопасность / Шифрование и учетные данные. Теперь коснемся установки сертификатов из хранилища.
В верхней левой части касаемся «установить из хранилища» и выберите место, где мы сохранили сертификат . Трогаем файл и пишем название сертификата. Наконец, мы выбираем VPN, Приложения или Wi-Fi.
Путь может измениться, поскольку в разделе «Установить сертификаты» мы можем напрямую найти выбор для установки трех типов сертификатов и щелкнуть по каждому из них:
- Сертификаты CA — Это то, что позволяет веб-сайтам, приложениям и VPN шифровать данные.
- Сертификат пользователя: также известный как сертификат гражданина, это цифровой документ, который содержит наши идентификационные данные. Это позволяет вам идентифицировать себя в Интернете и обмениваться информацией с другими людьми и организациями с гарантией, что только мы и другой собеседник можем получить к ним доступ.
- Wi-Fi сертификат: позволяет установить сертификат, который дает доступ к частным сетям Wi-Fi с высоким уровнем безопасности, таким как университетский Wi-Fi.
Удалить личные сертификаты
Возможно, что мы больше не нужен сертификат, или по соображениям безопасности мы хотим отменить его присутствие в нашей системе. В этом случае всегда важно соблюдать осторожность, чтобы не удалить из системы какие-либо сертификаты, которые необходимы для правильной работы телефона. В этом случае мы возвращаемся в Настройки / Безопасность / Шифрование и учетные данные. Затем в хранилище учетных данных мы касаемся «удалить учетные данные» и принимаем.
Источник
Knowledge Content
- Africa
- Asia Pacific
- Europe
- Latin America
- Middle East
- North America
- Global
Появляется уведомление о том, что может осуществляться мониторинг сети
Появляется уведомление о том, что может осуществляться мониторинг сети |
На панели уведомлений появляется уведомление о том, что может осуществляться мониторинг сети. Нажатие на уведомление приводит к тому, что открывается сообщение, говорящее о том, что сертификат CA был установлен на телефон и расход мобильного трафика может отслеживаться или может быть изменен.
Механизм защиты безопасности телефонов Android будет активирован, если вы выберите опцию Установить корневой сертификат при установке стороннего приложения с сертификатом CA на ваш телефон (как показано на рисунке ниже). Эти приложения могут отслеживать или даже изменять сетевые данные. Вы получите уведомление, если подобное приложение будет обнаружено на телефоне.
Откройте Настройки , найдите и откройте раздел Надежные учетные данные , а затем откройте раздел Пользователь , чтобы проверить наличие установленных сертификатов CA. Нажмите на сертификат и выберите опцию Удалить . Удалите ранее установленное стороннее приложение, если вы его не используете.
Источник