SSL сертификат для iPhone -> какой CA?

Я нахожу все эти обходные пути для NSUrlConnection, которые используют закрытый API для доступа к недоверенному сертификату SSL. Другие варианты - сначала установить сертификат с помощью приложения Safari/Mail.

Я хотел бы знать, какие корневые сертификаты установлены, чтобы я мог получить один из доверенного центра сертификации, как вы должны это сделать..

У кого-нибудь есть идея, какой CA мне нужен?

2 ответа

Решение

Вот список доступных CA предварительно установленных на iphone

http://support.apple.com/kb/HT2185

Вы можете получить свои сертификаты, подписанные любым из этих органов, или вы можете подписать свои собственные сертификаты и создать свой собственный CA, используя OpenSSL

Фактически вы можете принять самоподписанный сертификат SSL с помощью общедоступных API:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
    return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
        [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
    }

    [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}
Другие вопросы по тегам