我们正在构建一个使用证书透明性来验证 SSL 连接的 iOS SDK。这最初是在 info.plist 中使用 ATS 实现的,但我们遇到了一个问题:
用户可以安装配置文件并完全信任允许他们覆盖这些检查的根证书。Burpsuite 也是开箱即用的。
我们找到的解决方法是使用URLSessionDelegate
并在评估后检查SecTrustCopyResult(_: SecTrust)
key的结果kSecTrustCertificateTransparency
,确保值为true
.
这里的问题是这个键只在 iOS 13 之后才出现。我们应该如何为早期版本的 iOS 实现这一点?(我们目前支持 iOS 11.0 及更高版本)