2015-03-11 6 views
0

В моем приложении у меня есть ca.crt в папке с ресурсами, и я хочу установить его для всей системы (с принятием пользователя).Установить корневой сертификат CA программно на iOS

Я пробовал:

NSString *path = [[NSBundle mainBundle] pathForResource:@"ca" ofType:@"crt"]; 
NSURL *url = [NSURL fileURLWithPath:path]; 
[[UIApplication sharedApplication] openURL:url]; 

, но ничего не произошло.

[[UIApplication sharedApplication] canOpenURL:url]; 

возвращает false.

Если я положил cert на свой веб-сервер и откройте его из Safari, все будет работать отлично (появится новое всплывающее окно системы и спросите меня, хочу ли я установить сертификат CA). Мне нужно повторить это поведение в приложении - возможно ли это?

ответ

1

Я не очень уверен в том, что касается сертификата, но если он имеет такое же ограничение (как мой опыт, да), как файлы .mobileconfig в iOS, в настоящее время единственный способ установить файлы сертификатов по всему миру (кросс-приложения) используют приложение Safari или Mail в iOS.

Чтобы установить файлы сертификатов, у вас есть выбор, как:

  1. Поместите файлы сертификатов в Интернете и открыть его с помощью Safari
  2. Послать сертификат по электронной почте и открыть его по почте приложение
  3. Пакет (или загрузка) файлов сертификатов в ваш пакет и хост HTTP-сервера вашим приложением, а затем откройте ссылку localhost через Safari через функцию openURL:.

Вы можете обратиться следующий ресурс для установки файла mobileconfig:

Downloading "mobileconfig" file from an App

Installing a configuration profile on iPhone - programmatically

Смежные вопросы