[iOS]如何使用NSURLConnection自定义SSL验证?

时间:2018-11-26 16:52:51

标签: ios ssl nsurlconnection nsurlsession

出于某种原因,我需要自定义iOS应用的SSL验证,以便与其尝试将URL与SSL证书的CN字段匹配,不如检查CN字段是否包含我指定的内容。

我现在正在使用标准[NSURLConnection sendAsynchronousRequest],我无法使用该标准来自定义SSL验证行为。

有可能吗?

1 个答案:

答案 0 :(得分:0)

此文档在Apple开发人员文档站点上的Overriding TLS Chain Validation Correctly中有完整的代码清单。基本上,您将为所需的主机名创建一个新的TLS策略对象,然后创建一个具有一组证书并更改了信任策略的新信任对象。

只需将清单3(重写NSURLConnection对象使用的信任对象)与清单2(更改SecTrustRef对象的远程主机名)结合起来。