我发现NSUrlConnection的所有这些解决方法都使用封闭的API来访问不受信任的SSL证书。其他选项是首先使用Safari / Mail应用程序安装证书..
我想知道安装了哪些根证书,因此我可以从您信任的CA中获取一个,就像您应该这样做的那样..
任何人都知道我需要什么样的CA?
答案 0 :(得分:3)
以下是iphone上安装的可用CA预览列表
http://support.apple.com/kb/HT2185
您可以通过任何这些权限签署您的证书,也可以使用OpenSSL签署自己的证书并创建自己的CA
答案 1 :(得分:0)
您实际上可以使用公共API接受自签名SSL证书:
- (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];
}