Вопрос

Я нахожу все эти работы для 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];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top