Подтвердить что ты не робот

Как использовать аутентификацию сертификата клиента в приложении iOS

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

4b9b3361

Ответ 1

Ваш делегат 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 для получения подробных сведений о том, как создать учетные данные на основе сертификата:

Ответ 2

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

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

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

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