Как мне установить сертификат пользователя?

21

У меня есть собственный корневой сертификат, который подписывает пользовательские сертификаты.

У меня есть сайт, который позволяет вам только с пользовательским сертификатом, который подписан корнем CA.

Мне удалось заставить этот сайт работать в Ios и Windows, но я просто не могу заставить его работать на Android (4.2.2)

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

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

Уильям Хилсум
источник
Добро пожаловать в энтузиастов Android! У вас была возможность узнать, как установить веб-сертификат на Android-устройстве ? Пока вопрос старый, верный ответ все еще действителен для Android 4.4.
dotVezz
Привет, да, я сделал ... на устройстве HTC, он спрашивает, хочу ли я использовать его как «VPN или (не могу вспомнить) сертификат» или «Беспроводной сертификат», затем говорит, что оно установлено, но ничего не делает .. .. На телефоне Samsung я не получаю никаких опций после установки / он говорит, что он был установлен, а затем снова ничего не происходит.
Уильям Хилсум
@dotVezz Этот вопрос касается установки сертификата веб-сервера. Г-н Хилсум спрашивает об использовании клиентского сертификата для аутентификации на сервере.
Дэн Халм
Что происходит, когда вы пытаетесь посетить сайт? В Chrome> = 27.0.1453.49 он должен предложить вам выбрать сертификат, когда веб-сервер запрашивает этот метод аутентификации. Firefox не поддерживает это.
Дэн Халм
1
@ Дэйв Вам нужно задать новый вопрос, чтобы узнать, если кто-нибудь знает. Добавление вопроса в комментарии означает, что большинство людей, которые могут ответить, не увидят его.
Дэн Халм

Ответы:

2

Из StackOverflow: Как установить доверенный сертификат CA на устройстве Android?

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

Подробности и ссылки: http://www.mcbsys.com/techblog/2010/12/android-certificates/ . В этом посте см. Ссылку на ошибку Android 11231 - вы можете добавить свой голос и запросить эту ошибку.

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

Вот примечания, связанные со статусом Выпущено :

ICS пытается сделать большинство, если не все элементы в этом выпуске. Если я что-то пропустил, я открою более конкретные вопросы для устранения пробелов.

Некоторые детали ниже, я планирую более формальный пост в блоге позже. Следующее должно быть видно в Android 4.0 SDK, если вы хотите попробовать их и оставить отзыв.

Изменения в настройках:

  • Системные центры сертификации (ЦС) теперь отображаются в меню «Настройки»> «Безопасность»> «Доверенные учетные данные».
  • системные ЦС теперь можно отключить и включить
  • пользователи могут установить свои собственные центры сертификации в меню «Настройки»> «Безопасность» (а также с помощью других механизмов, таких как браузер или открытие из вложений электронной почты).
  • Пользовательские центры сертификации можно просмотреть и удалить в разделе «Настройки»> «Безопасность»> «Доверенные учетные данные».
  • вместо отдельного 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 или обходной путь, о котором я не знаю.

simplegamer
источник
0

Вы можете установить корневой сертификат, данный сайт на Android. Перейдите в раздел «Настройки» в вашем телефоне Android, нажмите на учетные данные установки с SD-карты.

Обязательно загрузите сертификат на свою SD-карту

Furquan
источник
1
Мы ищем ответы, которые объясняют вещи полностью. Не могли бы вы немного расширить свой ответ?
Дэн Халм,