SSL-сертификат для iPhone -> Какой CA?
-
03-10-2019 - |
Вопрос
Я нахожу все эти работы для NSURLConnection, которая использует замкнутый API для доступа к не доверенному сертификату SSL. Другие варианты состоит в том, чтобы сначала установить сертификат, используя приложение Safari / Mail ..
Я хотел бы знать, какие корневые сертификаты установлены, поэтому я могу получить один из доверенного ЦА, как вы должны сделать это ..
У кого-нибудь есть идея, что мне нужно?
Решение
Вот список доступных CA предварительно установленного на iPhone
http://support.apple.com/kb/ht2185.
Вы можете получить ваши сертификаты, подписанные любым из этих органов властей, или вы можете подписать свои собственные сертификаты и создать свой собственный CA, используя OpenSSL
Другие советы
На самом деле вы можете принять самозавеченный SSL CERT с использованием публичных 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];
}