У меня нет большого опыта проверки подлинности сертификата клиента. Кто-нибудь может сказать мне, как использовать его в приложении iOS? Спасибо:)
Как использовать аутентификацию сертификата клиента в приложении iOS
Ответ 1
Ваш делегат NSURLConnection должен ответить на метод делегата 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