Как использовать проверку подлинности сертификата клиента в приложении iOS - PullRequest
13 голосов
/ 20 сентября 2010

У меня нет большого опыта по проверке подлинности сертификата клиента.Кто-нибудь может сказать мне, как использовать его в iOS-приложении?Спасибо:)

Ответы [ 2 ]

18 голосов
/ 22 сентября 2010

Ваш NSURLConnection делегат должен ответить на метод connection:didReceiveAuthenticationChallenge: делегата (см. Ссылку ниже).

http://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSURLConnection_Class/Reference/Reference.html#//apple_ref/occ/instm/NSObject/connection:didReceiveAuthenticationChallenge:

Он должен ответить, попросив у своего «отправителя» запрос и предоставив ему соответствующие полномочия.

Что-то вроде:

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
  id sender = [challenge sender];

  // create a credential from a certificate
  // see doco for details of the parameters
  NSURLCredential *creds = [NSURLCredential credentialWithIdentity:ident certificates:certs persistence:persistence];

  [sender useCredential:creds forAuthenticationChallenge:challenge];
}

См. Ссылку на класс NSURLCredential для получения подробной информации о том, как создать учетные данные на основе сертификата:

3 голосов
/ 21 апреля 2015

Прежде чем использовать клиентские сертификаты в вашем приложении (как уже ответил Джейк), вы должны выполнить импорт сертификата в вашем приложении в связку ключей вашего приложения. (обратите внимание, что вам нужно использовать формат сертификата PKCS # 12, но вам необходимо зарегистрировать его в своем приложении (поиск экспортированных UTI и типов документов) с другим расширением, отличным от «.p12», который уже зарегистрирован в iOS. Я использовал .x-p12 в моем приложении)

Или вам нужно включить сертификат в комплект вашего приложения.

См. Здесь: Сертификаты клиентов iOS и управление мобильными устройствами

и здесь: https://developer.apple.com/library/ios/qa/qa1745/_index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...