IOS验证 HTTPS 请求的证书

自 iOS9 发布之后,由于新特性App Transport Security的引入,在默认行为下是不能发送 HTTP 请求的。很多网站都在转用 HTTPS,而AFNetworking中的AFSecurityPolicy就是为了阻止中间人攻击,以及其它漏洞的工具。

AFSecurityPolicy主要作用就是验证 HTTPS 请求的证书是否有效,如果 app 中有一些敏感信息或者涉及交易信息,一定要使用 HTTPS 来保证交易或者用户信息的安全。

这里对NSURL进行了重写,实现代理,截取证书,并且对证书进行信息获取以及证书校验。

1.发起网络请求代码:

发起网络请求代码

2.重写NSURL代理,因为证书的验证是否通过都是在代理方法里操作的,所以需要对代理重写。

重写代理方法,使用本地钥匙串和服务器钥匙串进行校验。

证书解析依赖工具方法:

解析证书依赖的方法

3.证书校验通过后,获取证书里面的具体的组织名称信息和主题信息。

解析证书获取证书里面的新

subjectstring 就是获取出证书的内容。

解析证书比较繁琐,因为服务器的证书不确定会携带一个或者多个证书,如果服务器有多个证书,取出和自己本地key可匹配的证书,同上的方法解析。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容