2012-05-11 3 views
8

Я хочу, чтобы иметь возможность установить сертификат клиента (например, по электронной почте), а затем использовать этот сертификат для аутентификации запросов, отправленных моим приложением. У меня такое ощущение, что Apple не допустит такого доступа, но не может найти определенного ответа. Это правда, или есть способ получить доступ к сертификатам клиентов, установленным на устройстве, из приложения?Возможно ли использовать клиентский сертификат, установленный на устройстве iOS в моем приложении?

Редактировать: Чтобы уточнить, это родное приложение, а не webapp.

ответ

3

Приложение может использовать только то, что вы храните в своем собственном брелка (или брелки других сторонних приложений, которые имеют один и тот же сертификат обеспечения). Что касается фактической загрузки, мы используем openssl (мы писали обертку obj-c вокруг него) для декодирования .p12, который мы отправляем в приложение.

Сертификаты, загруженные в конфигурации-> общие-> профили, защищены каким-то образом, только встроенные приложения (почта, сафари) могут добавлять туда вещи.

+0

Будет ли приложение, которое использует SafariServices быть в состоянии использовать клиентский сертификат, хранящийся в группе доступа компании Apple, для проверки подлинности? –

0

Чтобы использовать клиентские сертификаты в своем приложении, вам необходимо внедрить импорт сертификата в ваше приложение в цепочку ключей приложения. (обратите внимание, что вам нужно использовать формат сертификата PKCS # 12, но вам необходимо зарегистрировать его в своем приложении (поиск экспортированных UTI и типов документов) с другим расширением, отличным от «.p12», который уже зарегистрирован iOS. «ве используется .x-p12 в моем приложении) Смотрите здесь: iOS Client Certificates and Mobile Device Management и здесь: https://developer.apple.com/library/ios/qa/qa1745/_index.html