有人问我是否可以在连接期间检查 SSL 证书的某些属性以提高性能。
请参阅 Paypal 网站的附件图片:
有没有办法读取这些值?如果我能够通过使用浏览器浏览网络来获取它们,我是否可以通过使用 NSURLConnection、NSData 或(最重要的)ASIHTTPRequest 连接到服务器来读取它们?
当然,我正在处理的证书是有效的,不是自签名/不受信任的。这种验证是否会提高应用程序的安全性?
最佳答案
对于 ASIHTTPRequest,答案是否定的。
对于 NSNURLConnection,可以使用
读取这些值- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
你可以在这里看到我对类似问题的回答:ASIHTTPRequest retrieve server certificate
这种技术称为 SSL Pinning。它使 SSL 连接更牢固。您可以在此处阅读更多信息:https://www.isecpartners.com/blog/2013/february/ssl-pinning-on-ios.aspx
关于security - 检查 SSL 属性 ASIHTTPRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4602695/