IOS验证 HTTPS 请求的证书

2021-12-10  本文已影响0人  大长腿裤子太短

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

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

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

1.发起网络请求代码:

发起网络请求代码

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

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

证书解析依赖工具方法:

解析证书依赖的方法

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读