Як встановити сертифікат користувача?


21

У мене є власний кореневий сертифікат, який підписує сертифікати користувачів.

У мене є сайт, який дозволить вам використовувати лише сертифікат користувача, який підписується коренем ca.

Мені вдалося змусити цей сайт працювати в Ios та Windows, але просто не можу працювати з Android (4.2.2)

Я спробував багато різних методів імпорту сертифіката, включаючи конвертацію між форматами - я отримую, наскільки він розпізнаний та "встановлений", але він ніколи насправді не встановлюється і не стає видимим де-небудь (перевіряється за допомогою довірених даних> користувач).

Я читав тут, і єдині рішення, як видається, передбачають завантаження / модифікацію файлів та перезавантаження, а потім перезапуск - або змінене програмне забезпечення / подібне .... Я дуже хочу підтримуваний спосіб зробити це і не дуже хочу розглянути злом. як мені потрібно масштабування рішення.


Ласкаво просимо до ентузіастів Android! Чи мали ви змогу побачити Як встановити веб-сертифікат на пристрої Android ? Хоча питання давнє, головна відповідь все ще справедлива для Android 4.4.
dotVezz

Привіт, так, я зробив ... на пристрої HTC він запитує, чи хочу я використовувати його як "VPN або (не пам'ятаю) сертифікат" або "Сертифікат бездротового зв'язку", а потім каже, що він встановлений, але нічого не робить .. .. На телефоні Samsung я не отримую жодних варіантів після установки / він говорить, що він встановлений, а потім знову нічого не відбувається.
Вільям Гілсум

@dotVezz Це питання стосується встановлення сертифіката веб-сервера. Містер Гілсум просить використовувати сертифікат клієнта для аутентифікації на сервері.
Dan Hulme

Що відбувається, коли ви намагаєтесь відвідати сайт? У Chrome> = 27.0.1453.49 вам слід запропонувати вибрати сертифікат, коли веб-сервер запитує цей метод аутентифікації. Firefox це не підтримує.
Dan Hulme

1
@Dave Вам потрібно задати нове запитання, щоб дізнатися, чи хтось знає. Якщо додати запитання до коментарів, це означає, що більшість людей, які можуть відповісти, не побачать його.
Дан Хулм

Відповіді:


2

Від StackOverflow: Як встановити довірений сертифікат CA на пристрої Android?

Я витратив багато часу, намагаючись знайти відповідь на це (мені потрібен Android, щоб побачити сертифікати StartSSL). Висновок: Android 2.1 та 2.2 дозволяють імпортувати сертифікати, але лише для використання з WiFi та VPN. Немає користувальницького інтерфейсу для оновлення списку надійних кореневих сертифікатів, але обговорюється питання щодо додавання цієї функції. Незрозуміло, чи існує надійний спосіб вирішення вручну оновлення та заміни файлу cacerts.bks.

Деталі та посилання: http://www.mcbsys.com/techblog/2010/12/android-certificate/ . У цій публікації дивіться посилання на помилку Android 11231 - ви можете додати свій голос і запит до цієї помилки.

11231 було закрито в листопаді 2011 року, і статус був випущений для Android 4.0 ICS.

Ось нотатки, пов’язані зі статусом випуску :

ICS робить більшість, якщо не всі пункти цього випуску. Якщо я щось пропустив, я відкрию більш конкретні питання, щоб усунути прогалини.

Деякі деталі нижче, я планую більш офіційне повідомлення в блозі пізніше. У Android 4.0 SDK слід побачити наступне, якщо ви хочете випробувати їх та дати відгук.

Зміни в налаштуваннях:

  • Системні сертифікати (CA) тепер видимі в Налаштуваннях> Безпека> Довірені облікові дані.
  • системні ЦО тепер можна відключити та відновити
  • користувачі можуть встановлювати власні ЦО з Налаштування> Захист (а також з інших механізмів, таких як браузер або відкриття з вкладення електронної пошти.
  • ЦО користувачів можна переглядати та видаляти в Налаштуваннях> Безпека> Довірені облікові дані
  • замість окремого 8-символьного PIN-коду для зберігання облікових даних тепер доступ контролюється через заблокований екран

Новий API KeyChain

  • KeyChain.createInstallIntent дозволяє програмам запитувати встановлення облікових даних, в основному оприлюднюючи інтерфейс, який використовує "Налаштування" для запиту встановлення. користувачі повинні підтвердити запити встановлення, як і раніше.
  • KeyChain.choosePrivateKeyAlias ​​/ getPrivateKey / getCertificateChain дозволяє програмам запитувати приватні ключі та пов'язані з ними сертифікати для використання програми. загальним випадком використання буде автентифікація сертифікату клієнта за допомогою https.

Електронна пошта

  • Тепер електронна пошта використовує API KeyChain, щоб дозволити автентифікацію сертифікату клієнта для облікових записів Exchange

Веб-переглядач

  • Тепер браузер використовуватиме KeyChain для запиту клієнтського сертифіката, коли сервер вимагає підтвердження автентифікації.

У березні 2014 року було створено запит на удосконалення Дозволити користувачам встановлювати власні сертифікати ЦА .

Багато користувачів (включаючи компанії) використовують самопідписані сертифікати для SSL / TLS, або тому, що вони не хочуть платити за це, або тому, що вони просто не довіряють іншим компаніям і хочуть це робити самі (насправді, немає причин купуйте сертифікат, коли не потрібно, щоб анонімні користувачі Інтернету довіряли вашому серверу).

На даний момент можливо встановити спеціальний сертифікат CA в Android, але він виявляється як "сертифікат користувача", який, здається, призначений для клієнтських сертифікатів. Як результат, ці серти відображаються як «сертифікати користувачів» у графічному інтерфейсі, а оскільки на Android 4.4, впроваджено жахливу «Мережу моніторингу».


4
Це чудова відповідь, але на неправильне запитання. Питання задає питання, як встановити клієнтський сертифікат для автентифікації клієнтських сертифікатів (рідко для веб-сайтів). Ця відповідь пояснює, як встановити новий кореневий центр, який відрізняється.
jtolds

2

Перейдіть у Налаштування> Захист> Зберігання даних про папки> Встановити з SD-карти Якщо його немає, можливо, вам знадобиться новіша версія Android або спосіб вирішення, про який я не знаю.


0

Ви можете встановити кореневий сертифікат, наданий сайтом на Android. Перейдіть до Налаштування на телефоні Android, торкніться інсталяції облікових даних із SD-карти.

Обов’язково завантажте сертифікат на вашу SD-карту


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