Як ви імпортуєте сертифікати 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.

Дякуємо за будь-яку допомогу,

Томек

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 також має можливість конвертувати між різними форматами сертифікатів.
snaut

Відповіді:


16

Я з великим успіхом використовував програму встановлення сертифікатів Android на RealmB . Ви просто завантажте файл, закодований PEM (.cer чи. Не потрібно приватного ключа.


Сам сайт повідомляє, чи є завантаження дійсним сертифікатом чи ні. Це дало мені помилкову помилку сертифіката. Я завантажив той, що має права на файл, на мою машину Linux, і він чудово працював.
so_mv

1
Можливі наслідки для цього веб-сайту слід вказати разом із посиланням (або, цитуйте сам веб-сайт: як безпека? - погано. Ви повинні завантажувати лише ті файли, які, на вашу думку, можуть бути відкрито переглянуті без будь-яких побічних ефектів. ).
АБО Mapper

Це більше не працює :( Не вдалося завантажити
Вітас

6

По-перше: Android розуміє лише двійковий формат CA та лише у форматі файлів * .crt.
По-друге: Android розуміє лише сертифікати користувачів у форматі файлу * .p12.

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

Якщо є щось подібне 0‚ i0‚ Т , то це бінарне.

Якщо ви бачите щось подібне

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

Тоді це текст. Дуже просто перетворити його у бінарне в * nix:

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

Або просто запитайте системного адміністратора.

Скопіюйте CA.crt та usercert.p12 на SD-карту або надішліть її електронною поштою (якщо у вас налаштований клієнт електронної пошти на Android, зазвичай завантажені вкладені файли зберігаються у папці Завантажити, насправді це не має значення).

Перейдіть у розділ Безпека та знайдіть такий варіант: встановіть сертифікат зі своєї SD-карти

Спочатку встановіть CA.crt, потім usercert.p12

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


2
Для когось це може допомогти у майбутньому: я не мав жодних проблем із встановленням текстового формату сертифіката на SGS4 - але лише після того, як я перемістив його до папки " Завантаження" (" Мої документи не робитимуть"), а також лише з опцією, зазначеною в питання, не відкриваючи файл CRT у файловому менеджері, де Android стверджував, що тип файлу був невідомим (на відміну від Nexus 7, де він працював так).
АБО Mapper

Мені довелося використовувати Root Cert, а не cert сайту, коли зберігався з Chrome. На хромованій сторінці: F12 (консоль розробника), вкладка "Захист", "Переглянути сертифікат", "Вкладка Шлях до сертифікації", натисніть верхній кореневий вузол, "Переглянути сертифікат, деталі", кнопку "Скопіювати у файл ...", виберіть формат DER. Відкриваючи дисковод google, дозвольте мені встановити cert. Переконайтеся, що він відображається на телефоні в розділі Налаштування, Безпека, Довірені облікові дані, Користувач.
Кертіс Яллоп

5

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

Показує, як насправді цього досягти. Для мене добре працювали. Спробуй.

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


5

Для інших людей, які шукають цю відповідь, які не можуть використовувати рішення realmB, оскільки вони не можуть отримати доступ до Інтернету на своєму телефоні.
Я просто змінив розширення файлу своїх сертифікатів з .cerна .crtі все працювало чудово! Дякуємо користувачам цієї xda нитки за рішення.


0

Саме таке рішення. Android приймає лише сертифікат у "Бінарному режимі". Якщо у вас є сертифікат у текстовому режимі, який є найпоширенішим форматом сертифіката, конвертуйте його просто у формат "DER Binary". Після цього натисніть сертифікат у папку "Завантажити на пристрої Android та скористайтеся меню" Встановити з SD Card ", щоб встановити сертифікат.

Працює для 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. Дивіться про реалізацію довіреного магазину ІКС Миколи Єленкова .


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), тому вам не потрібно завантажувати сертифікат на якийсь веб-сайт.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.