2010-05-04 13 views
4

Je trouve toutes ces solutions de rechange pour NSUrlConnection qui utilisent une API fermée pour accéder à un certificat SSL non sécurisé. Les autres options sont d'installer le certificat d'abord en utilisant l'application Safari/Mail.Certificat SSL pour iPhone -> quel CA?

Je voudrais savoir quels certificats racine sont installés, donc je peux en obtenir un de l'AC de confiance, comme vous êtes supposé pour le faire ..

Quelqu'un at-il une idée de ce dont j'ai besoin?

+0

Puis-je choisir un des descri du CA lit ici pour Enterprise Deployment? http://support.apple.com/kb/HT3580 – StijnSpijker

Répondre

3

Voici une liste des pré CA disponible installé sur l'iPhone

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

Vous pouvez obtenir des certificats signés par l'une de ces autorités ou vous pouvez signer vos propres certificats et créez votre propre CA en utilisant OpenSSL

0

Vous pouvez en effet accepter un SSL auto-signé cert en utilisant les API publiques:

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