我们现有iPhone / ipad应用程序,目前我们正在使用HTTP soap和Rest服务。 根据Apple的新规则和规定,我们是否需要将现有的HTTP服务转换为HTTP?
我们可以在服务器中使用自签名证书来使服务SSL启用吗? 如果我们使用自签名证书,苹果有问题吗?或者我们是否需要购买新的SSL证书?
目前我还通过ipv4地址访问webservices。 我需要将其更改为ipv6吗?
苹果什么时候开始审查这些条件?我想在下个月发布我的应用程序的更新版本。我是否需要在下一次构建时遵循这些规则?答案 0 :(得分:2)
就ATS(App Transport Security)而言,是对运行使用Xcode 7构建的应用程序的所有iOS 9设备的新要求。
https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/
使用NSURLConnection,CFURL或NSURLSession API的所有连接 在为iOS 9.0构建的应用程序中使用App Transport Security默认行为 或更高版本,以及OS X v10.11或更高版本。不遵循的连接 要求将失败。
但是您的应用程序可以根据需要通过向Info.plist添加例外来明确选择退出,至少在Apple更改之前,假设将来某个时候他们将强制执行100%合规,可能是iOS 10发布(?),可能更早(?)...
选择退出示例:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
通过:Google广告开发者:http://googleadsdeveloper.blogspot.ch/2015/08/handling-app-transport-security-in-ios-9.html
注意:您可以通过OS-X 10.11安装使用“nscurl --ats-diagnostics”来测试您的应用将使用的URL上的ATS合规性。我强烈建议在应用(重新)提交之前这样做,以确保您不需要通过Info.plist请求例外。
除非您添加签名CA详细信息并信任它,或者再次通过Info.plist异常禁用ATS,否则自签名证书将不起作用。省去麻烦,只需购买符合要求的SSL证书。
目前我正在通过ipv4访问webservices 地址。我需要将其更改为ipv6吗?
不,您的服务器不需要运行IPv6,它们应该但这取决于您和您的托管服务提供商,因为一些移动运营商由于缺少IPv4地址而已迁移到IPv6,但是当然,他们正在为IPv4提供NAT转换。
但您的应用有为IPv6 enabled/ready以便与这些提供商合作,否则您将获得拒绝应用。我强烈建议您阅读Apple doc。
有几种情况可能会阻止应用支持IPv6并被拒绝:
答案 1 :(得分:0)
iOS9要求服务器仅支持 TLSv1.2 并支持完美的前向安全性。
同样必须要求应用支持 IPV6 ,包括不使用硬编码的IP地址。
服务器上的证书必须由授权CA 签名。
新的安全功能,可阻止应用中的非HTTPS流量。但是,这是一项新功能,仅适用于今天使用 X Code 7和iOS 9 SDK构建的应用。它不会破坏现有应用。
对于非生产环境和调试中的应用,您可以从plist 禁用ATS 。
感谢。