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