Domanda

Trovo tutti questi work-around per NSURLConnection di che utilizzano un API chiuso per accedere a un certificato non attendibile SSL. Le altre opzioni è quello di installare il certificato prima utilizzando l'opzione / app Mail Safari ..

Mi piacerebbe sapere che cosa sono installati i certificati di origine, in modo da poter ottenere uno dal fidato CA, il modo in cui si suppone di farlo ..

Qualcuno ha un idea di cosa ho bisogno CA?

È stato utile?

Soluzione

Ecco un elenco delle CA Disponibile pre installato su iPhone

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

È possibile ottenere i certificati firmato da una qualsiasi di queste autorità o si può firmare i propri certificati e creare il proprio CA utilizzando OpenSSL

Altri suggerimenti

Si può infatti accettare una cert SSL self-signed utilizzando API pubbliche:

- (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];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top