因此Apple要求TLS 1.2具有针对iOS 9开始的URL的前向保密性.独立于应用程序,验证服务器是否满足所有要求的最佳方法是什么?
nscurl直接不起作用 - 或者我不知道如何使用它.我的输出只是反复说CFNetwork SSLHandshake失败了,即使我知道服务器是合规的.
TLSTool在某种程度上起作用,但我不能强制使用前向保密(FS)密码.
openssl可以为客户端模式指定特定的密码,但我的版本没有FS密码.如何升级openssl?
什么是最好的方式?到目前为止,我不得不使用ssllabs.com的analyze.html.有什么建议?
基本上nscurl --ats-diagnostics
只是尝试所有可能的服务器连接变体和每个测试的PASS/FAIL结果的响应.您应该找到为您的服务器传递的测试并相应地设置ATS配置.
这是一篇关于ATS和检查服务器合规性的好文章,它还包含一个nscurl示例.
此处列出的所有方法都有效,但需要一些手工操作.我找到的最好方法是使用SSL Labs测试服务器,并将结果与Apple的要求进行比较.这似乎是可以自动化的东西所以我创建了一个工具,它可以做到这一点:https://apptransport.info
如果您将域名作为参数传递(例如https://apptransport.info/craigslist.com),您将获得以下信息:
您的服务器是否符合ATS标准
如有必要,如何修复服务器
如有必要,如何添加ATS例外
结果来自SSL实验室