【问题标题】:Override default crypto system used in ATS with custom crypto system使用自定义加密系统覆盖 ATS 中使用的默认加密系统
【发布时间】:2017-09-05 04:08:55
【问题描述】:
【问题讨论】:
标签:
ios
security
app-transport-security
【解决方案1】:
ATS 仅适用于 NSURLSession、现已弃用的 NSURLConnection 以及在它们之上分层的 API。它不适用于使用较低级别 API(如 BSD 套接字)的应用程序,包括在这些较低级别 API 之上实现 TLS 的应用程序。如果您使用的是诸如 openssl 之类的 3rd 方库,则不会强制执行 ATS 要求。
ATS 本身不提供任何加密。 ATS 是一组关于使用 NSURLSession 建立的连接的加密/握手的强制性最低要求。所以要求至少 1.2 的 TLS、强密钥、前向保密等。我想你可能对应用传输安全性没有清楚的了解。
如果您想编写自己的 SSL 实现,或者使用 3rd 方库来实现,那么 ATS 根本不会发挥作用,除非您尝试在实现中使用 NSURLSession。