我想封装UIWebView,它可以在ios平台上处理http和https请求,特别是对于https,它应该处理信任和未经验证(开发人员定义的)证书。有开源可供参考吗?
提前谢谢。
Graham Lee 讨论了您可以在 On SSL Pinning for Cocoa [Touch] 中执行的一些操作。它与您将要达到的开源一样接近 - 它的示例代码向您展示如何使用NSURLConnection
和NSURLConnectionDelegate
做到这一点。
Lee 的文章讨论了如何固定公钥,从而提高通道的安全性。公钥固定等效于 SSH 中的StrictHostKeyChecking
。此外,我相信您可以使用NSURLConnection
和NSURLConnectionDelegate
来信任您的[否则]不受信任的证书(我不遵守这种做法,所以我不确定细节)。
小心不要减少(破坏?)通道中内置的安全性。最近在《为什么Eve和Mallory爱Android:Android SSL(In)Security分析》上发表了一项关于愚蠢开发者决策的调查和分析。它不仅限于安卓。
创建网络连接以处理 SSH 质询、不受信任的认证。
这段代码可能会有所帮助 https://github.com/dirkx/Security-Pinning-by-CA - 它正是这样做的。