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];
}