Как вы импортируете сертификаты CA на телефон Android?

59

Я хочу подключиться к беспроводной сети моего университета, используя мой Nexus One. Когда я иду в «Добавить сеть Wi-Fi» в настройках беспроводной сети, я заполняю SSID сети, выбираю 802.1x Enterprise для безопасности и заполняю все.

Проблема в том, что для сертификации в нашем университете используется сертификат Thawte Premium Server CA.

Когда я нажимаю раскрывающийся список для сертификата CA, я ничего не получаю в списке (только N / A)

Теперь у меня есть сертификат (Thawte Premium Server CA.pem) и я переместил его на свою SD-карту, но он не выглядит так, как будто Android автоматически обнаруживает его.

Где я должен положить сертификат, чтобы диспетчер беспроводной связи Android распознал его. Другими словами, как я могу импортировать сертификат CA, чтобы Android распознал его на телефоне и отобразил его в раскрывающемся списке CA Certificate.

Спасибо за любую помощь,

Томек

PS мой телефон не рутирован

РЕДАКТИРОВАТЬ : После некоторых исследований, похоже, что вы можете установить сертификаты, перейдя в настройки вашего телефона> Расположение и безопасность> Установка с SD-карты

К сожалению, похоже, что единственным допустимым расширением файла является .p12. Не похоже, что на данный момент есть способ импортировать файлы .cer или .pem (которые являются единственными двумя файлами, которые поставляются с сертификатами Thawte).

Похоже, что вы можете использовать конвертер для преобразования ваших файлов .cer или .pem в .p12, однако файл ключа необходим.

https://www.sslshopper.com/ssl-converter.html

Я не знаю, где взять этот файл ключей для сертификатов Thawte.

Ли Райан
источник
1
Я бы хотел, чтобы это было не раскрыто. Это было очень полезно для меня. Спасибо всем на этой странице.
Ricket
Сертификат .crt также отлично работает
Lie Ryan
1
На устройстве HTC с Android 2.3.5 мне пришлось изменить расширение файла с .pemна .crt. После этого я смог найти его Install from SD cardв настройках безопасности . Его можно положить в корень SD-карты или в Downloadsпапку.
JJD
Openssl также должен иметь возможность конвертировать различные форматы сертификатов.
Снаут

Ответы:

16

Я с большим успехом использовал Android-установщик RealmB . Вы просто загружаете файл в формате PEM (.cer или .pem), а затем указываете браузер своего телефона на предоставленную ссылку. Нет необходимости в закрытом ключе.

AdamP
источник
Этот сайт сам говорит, является ли загрузка действительным сертификатом или нет. Это дало мне неверную ошибку сертификата. Я загрузил файл с правами доступа к файлу на моей машине с Linux, и он отлично работал.
so_mv
1
О возможных последствиях безопасности для этого сайта следует указать вместе со ссылкой (или привести сам сайт: « Какова безопасность? - Плохо, вы должны загружать только те файлы, которые, по вашему мнению, могут быть публично просмотрены без каких-либо побочных эффектов» ).
ИЛИ Mapper
Это больше не работает :( Загрузка не удалась
Vitas
6

Первое: Android понимает только двоичный формат CA и только с форматом файла * .crt.
Второе: Android понимает только пользовательские сертификаты в формате * .p12.

Таким образом, вы можете проверить, является ли ваш файл CA двоичным или текстовым очень простым: откройте его в любом текстовом редакторе ^

Если там что-то вроде 0‚ i0‚ Т , то это двоичный файл.

Если вы видите что-то вроде

Сертификат: Данные: Версия: 3 (0x2) Серийный номер: 96: 0e: 45: 58: 68: 9a: bf: 00 Алгоритм подписи: sha1WithRSAEncryption Эмитент: C = UA, ST =

Тогда это текст. Преобразовать его в двоичный файл очень просто в * nix:

openssl x509 -inform PEM -outform DER -in CA.pem -out CA.crt

Или просто спросите своего системного администратора.

Скопируйте файлы CA.crt и usercert.p12 на свою SD-карту или отправьте их по электронной почте (если у вас настроен почтовый клиент на Android, обычно загруженные вложения хранятся в папке Download, на самом деле это не имеет значения).

Зайдите в «Безопасность» и найдите что-то вроде этого: установите сертификат с вашей SD-карты

Сначала установите CA.crt, затем usercert.p12

Зайдите на wifi и создайте новое соединение, выберите 802.1x EAP и выберите ваши сертификаты для CA CA.crt и для сертификата пользователя usercert.p12, в моем случае я также ввел имя пользователя.

Дмитрий
источник
2
Кому бы это ни помогло в будущем: у меня не было проблем с установкой сертификата текстового формата на SGS4 - но только после того, как я переместил его в папку « Загрузки » (« Мои документы не подойдет»), а также только с опцией, указанной в вопрос, а не открывая файл CRT из файлового менеджера, где Android утверждает, что тип файла неизвестен (в отличие от Nexus 7, где он работал так).
ИЛИ Mapper
Мне пришлось использовать Root Cert, а не сертификат сайта при сохранении из Chrome. На странице Chrome: F12 (консоль разработчика), вкладка «Безопасность», «Просмотр сертификата», вкладка «Путь сертификации», щелкните самый верхний корневой узел, «Просмотр сертификата», вкладка «Сведения», кнопка «Копировать в файл ...», выберите формат DER. Открытие с Google Drive позволяет мне установить сертификат. Убедитесь, что он отображается на телефоне в меню «Настройки», «Безопасность», «Доверенные учетные данные», «Пользователь».
Кертис
5

http://abtevrythng.blogspot.com/2010/06/adding-cer-certificates-on-your-android.html

Показывает, как на самом деле добиться этого. Работал нормально для меня. Попробуйте это.

В этой статье дается конвертация .cer в .pfx (что вам нужно на Android). Приведен простой метод, с помощью которого вы можете конвертировать .cer в .pfx и использовать его для подключения к сети Wi-Fi. Кроме того, вам не нужен ключ для преобразования .cer в .pfx !!!

Уэсли Вайзер
источник
5

Для других людей, ищущих этот ответ, которые не могут использовать решение realmB, потому что они не могут получить доступ к Интернету на своем телефоне.
Я просто изменил расширение файлов моих сертификатов с .cerна .crtи все работало нормально! Спасибо пользователям этой ветки xda за решение.

GIWonder73
источник
0

Это именно то решение. Android принимает только сертификат в «Бинарном режиме». Если у вас есть сертификат в текстовом режиме, который является наиболее распространенным форматом сертификата, просто преобразуйте его в формат «DER Binary». После этого вставьте сертификат в «папку загрузки» устройства Android и используйте меню «Установить с SD-карты» для установки сертификата.

Работает для Samsung Galaxy, телефона Sony Xperia, HTC Phone Работает для Android версии 3.x и 4.x

Оливье

Оливье Паудекс
источник
0

Как вы импортируете сертификаты CA на телефон Android?

Официальную документацию по Android можно найти в разделе Работа с сертификатами . Обратите внимание, что сертификат должен быть в кодировке ASN.1 / DER. Как только кодировка верна, просто убедитесь, что это расширение CRT или CER. Если его нет (как вы назвали его ca-cert.der), то переименуйте его (в ca-cert.crt).

Если у вас есть сертификат в кодировке PEM, преобразуйте его в кодировку ASN.1 / DER, используя (согласно инструкциям Dimtry):

openssl x509 -in ca-cert.pem -inform PEM -outform DER -out ca-cert.crt

Если интересно, система Trust Store записывается в ПЗУ, поэтому вы действительно не можете ее изменить. Когда вы изменяете Trust Store, вы фактически настраиваете /data/misc/keychainодин из двух файлов: cacerts-addedи cacerts-removed. См. Внедрение магазина доверия ICS Николая Еленкова .

jww
источник
0

Мне удалось подключиться к моей университетской сети, выполнив следующие действия:

  1. Спросил в университете о сертификате, что он используется, в моем случае DigicertCA.
  2. Google, скачайте его (он у меня сохранен в моей учетной записи Dropbox), сохраните его в папке «Скачать» в телефоне (в моем случае Samsung Galaxy S8).
  3. На телефоне: зайдите в Настройки-> Экран блокировки и Безопасность-> Другие настройки безопасности-> Установить с устройства хранения (Установить сертификат из хранилища) - если сертификат загружен на телефон (папка Загрузки в моем случае он распознается и отображается для выбор).
  4. Перезагрузите телефон.
  5. При настройке сети в сертификате CA выберите Don't validate after installed on phone.

В моем случае это сработало, надеюсь, это поможет.

Богдан
источник
-1

Вы можете получить доступ к своему cer / pem с SD-карты с правильным типом MIME, который будет установлен с помощью TJWS (версия для Android), поэтому вам не нужно загружать свой сертификат на какой-либо веб-сайт.

Дмитрий
источник