2017-03-16 181 views
0

几个问题:TLS V 1.1和TLS V 1.2的iOS问题

  1. 我是否还需要NSAppTransportSecurity功能添加到我的info.plist中,如果我的服务器已经运行TLS1.2?如果是,为什么?不应该所有苹果设备运行iOS9或> iOS10.11版本都可以使用TLS1.2设置吗?

  2. 什么是前向保密?为什么我需要为特定域启用或禁用它?

  3. 什么是密码套装?

回答

2
  1. 闽TLS版本在你Info.plist中,如果您的服务器不支持至少TLS 1.2时,才需要。如果你的服务器是TLS 1.2,你不需要为你的Info.plist添加一个例外。但是,ATS的要求远不仅仅是TLS版本(请参阅useyourloaf.com article,特别是“不只是HTTPS”部分)

  2. 转发保密性是您的服务器安全性的一项功能,可确保您的密钥受损,任何被捕获和存储的过去流量将不能被批量解密。有些服务器出于合法原因不支持它,所以Apple允许您在ATS例外中添加例外,而无需在为应用商店提交时提供正当理由。

  3. 密码套件是认证,加密,消息认证码(MAC)和用于协商安全设置的密钥交换算法的组合。 (来自Wikipedia)。基本上它是使服务器加密工作的部分的组合。

如果你不确定,如果你的连接到您服务器将与ATS的问题,你可以简单地在iOS 10设备上运行你的应用程序(我会做的是iOS设备9为好,因为有分歧在一些情况下两者之间)。如果由于ATS而导致连接失败,则需要对服务器进行一些更改,或向Info.plist添加例外。

或者您可以在您的Mac终端上运行以下命令:nscurl --ats-diagnostics <url>它会在您的服务器上运行一整套ATS检查并报告任何故障。故障通常意味着您需要添加ATS异常或解决服务器上的故障。

有关ATS故障诊断和诊断的更多信息,再次this article是一个很好的资源。它讨论了我上面所说的一些事情,以及启用更多详细信息CFNETWORK_DIAGNOSTICS日志记录。

+0

谢谢你的信息。它真的帮助诊断问题:) – Ackman