这是我第一次上传二进制文件。iTunes Connect问我:

出口法律要求含有加密技术的产品必须得到适当的出口授权。 如果不遵守,可能会受到严厉的处罚。 欲了解更多信息,请点击这里。 你的产品包含加密吗?

我使用https://,,但只通过NSURLConnection和UIWebView。

我对此的解读是,我的应用程序不“包含加密”,但我想知道这一点是否在任何地方都拼出来了。“严厉的惩罚”听起来一点也不令人愉快,所以“我认为这是正确的”有点粗略……权威的答案会更好。

谢谢。


当前回答

对于仅仅使用TLS连接自己的web服务器的应用程序开发人员来说,所有这些都非常令人困惑。因为ATS(应用程序传输安全)变得越来越重要,我们被鼓励将所有内容转换为https -我认为更多的开发人员将遇到这个问题。

我的应用程序只是使用https协议在服务器和用户之间交换数据。看到免责声明中“使用加密”的字样有点吓人,所以我给美国政府办公室打了个电话,并与工业和安全局(BIS) http://www.bis.doc.gov/index.php/about-bis/contact-bis的代表进行了交谈。

代表向我询问了我的应用程序,由于它通过了“主要功能测试”,因为它与安全/通信无关,只是使用https作为连接我的客户数据到我们的服务器的通道-它属于EAR99类别,这意味着它不需要获得政府许可(参见https://www.bis.doc.gov/index.php/licensing/commerce-control-list-classification/export-control-classification-number-eccn)

我希望这能帮助到其他应用开发者。

其他回答

如果您没有显式地使用加密库,或滚动自己的加密代码,那么我认为答案是“不”。

看起来HTTPS很重要

连结“了解更多”: https://www.bis.doc.gov/index.php/policy-guidance/encryption/4-reports-and-reviews/a-annual-self-classification

更新:从2016年9月下旬起,使用HTTPS现在不受ERN限制

https://stackoverflow.com/a/40919650/4976373


不幸的是,我认为你的应用程序在US BIS方面“包含加密”,即使你只是使用HTTPS(如果你的应用程序不是问题2中的例外)。

引用自iTunes Connect常见问题解答:

“我如何知道我是否可以遵守出口商登记和报告(ERN)程序?”

如果您的应用程序使用、访问、实现或合并行业标准加密算法,而不是出于问题2中列出的豁免目的,您需要提交ERN授权。标准加密的例子有:AES, SSL, https。该授权要求你每年1月向两个美国政府机构提交一份关于应用程序信息的年度报告。 "

“第二个问题:你们的产品是否符合第5类第2部分规定的任何豁免?

在美国出口法规第5类第2部分(信息安全与加密法规)中,对于使用、访问、实现或合并加密的应用程序和软件有一些豁免。

因对出口规定的误解或不准确地申请豁免而引起的一切责任由应用程序的所有者和开发者承担。

如果你符合以下任何一个条件,你可以回答“是”:

(i)如果您根据BIS提供的关于加密问题的指导,确定您的应用程序不属于EAR第5类第2部分。EAR第3至第774部分中的医疗设备谅解声明可在联邦法规电子代码网站上访问。请访问加密页面常见问题部分的问题#15,以了解BIS列出的可以申请注4豁免的示例项目。

(ii)您的应用程序仅使用、访问、实现或合并加密进行身份验证

(iii)你的应用程序使用、访问、实现或合并密钥长度不超过56位对称、512位非对称和/或112位椭圆曲线的加密

(iv)你的应用程序是一个大众市场产品,密钥长度不超过64位对称,或者如果没有对称算法,不超过768位非对称和/或128位椭圆曲线。

请回顾第2部分第5类中的注释3,以了解大众市场定义的标准。

(v)你的应用程序是专门设计的,仅限于银行使用或“货币交易”。“货币交易”一词包括费用的收取和结算或信贷功能。

(vi)你的应用程序的源代码是“公开可用的”,你的应用程序免费分发给公众,并且你已经满足了740.13规定的通知要求。

请访问加密网页,以防您需要进一步的帮助,以确定您的应用程序是否有资格获得任何豁免。

如果您认为您的应用程序有资格获得豁免,请回答“是”。

如果你使用苹果提供的安全框架或CommonCrypto库,你的应用程序中包含了加密,你必须回答“是”——仅仅因为库是由苹果提供的,并不能让你摆脱困境。

关于最初的问题,最近在苹果开发论坛上的帖子让我相信,即使你只使用SSL,你也需要回答“是”。

简单的回答:是的,但是你不需要做任何事情

我在网上找了好几个小时。实际上这很简单,你可以在itunes connect中验证:

1. 你要做的就是

如果你的应用只使用HTTPS或仅使用加密进行身份验证、令牌等,你不需要做什么,只需要包含

<key>ITSAppUsesNonExemptEncryption</key><false/>

在你的信息。去吧,你完蛋了。

2. 验证

你可以在itunes connect中验证这一点。

选择你的应用 选择功能 选择加密 点击“+” 跟着对话 对于HTTPS或认证,答案是肯定的

在任何情况下,你当然都应该仔细阅读对话。


一篇非常有用的文章可以在这里找到:

https://www.cocoanetics.com/2017/02/itunes-connect-encryption-info/