我的应用程序是否“包含encryption”?

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

出口法律要求包含encryption的产品应得到适当的出口授权。
不遵守可能会导致严重的处罚。
欲了解更多信息,请点击这里。
你的产品是否包含encryption?

我使用https:// ,但只能通过NSURLConnectionUIWebView

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

谢谢。

[ 更新 :截至2016年9月底,使用HTTPS现在免于ERN] https://stackoverflow.com/a/40919650/4976373


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

来自iTunes Connect FAQ :

我怎么知道我能否遵守出口商注册和报告(ERN)stream程?

如果您的应用程序使用 ,访问,实施或整合行业标准encryptionalgorithm以用于除问题2中列出的豁免以外的用途,则需要提交ERN授权 。 标准encryption的例子有:AES,SSL, https 。 此授权要求您每年1月向两个美国政府机构提交年度报告,并提供有关您的应用程序的信息。 “

第二个问题:您的产品是否符合第5类第2部分规定的豁免条件?

根据美国出口法规,在使用,访问,实施或合并encryption的应用程序和软件的第5部分第2部分(信息安全和encryption法规)中有几项豁免。

与错误解释出口条例或要求豁免不正确相关的所有责任由应用程序的所有者和开发者承担。

如果您符合以下任何标准,您可以回答“是”:

(i)如果您确定根据BIS在encryption问题上提供的指导,您的应用不属于EAR的第5类第2部分。 EAR第7​​74号补编第3号中关于医疗设备的谅解声明可在“联邦电子条例”网站上查阅。 请访问encryption页面常见问题解答部分的问题#15,了解BIS列出的可以声明注4豁免的示例项目。

(ii)您的应用程序仅使用,访问,实施或合并encryption

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

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

请查看第5类第2部分的注释3以了解大众市场定义的标准。

(五)你的应用程序是专门devise和限制银行使用或“金钱交易”。 “货币交易”一词包括收取和结算票价或信用function。

(vi)您的应用程序的源代码是“公开可用的”,您的应用程序免费向公众发布,并符合740.13(e)所规定的通知要求。

如果您需要进一步的帮助来确定您的应用是否符合豁免条件,请访问encryption网页。

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

以适当的方式获得应用程序的批准并不困难。 SSL(HTTPS / TLS)仍然是encryption的,除非您仅将其用于身份validation,否则您应该获得适当的批准。 我刚刚获得批准,而我的应用程序现在正在商店中,用于使用SSLencryption数据stream量(不仅仅是身份validation)。

这里是我写的一个博客条目,以便其他人可以正确地做到这一点。

苹果iTunes的出口限制

我向苹果提出了同样的问题,并得到了(从高级出口合规专家)的答案,“通过https发送信息迫使数据通过SSL的安全通道,因此它符合美国政府的要求CCATS审查和批准“。 请注意,苹果公司已经为他们的SSL实施做了这些并不重要,但是对于政府来说,如果你使用的encryption技术与他们自己编写的encryption技术是一样的话。 我也更新了我们的博客( http://blog.theanimail.com ),因为Tim通过更新和过程的细节链接到它。 希望有所帮助。

如果您使用Apple提供的安全框架或CommonCrypto库,则您的应用程序中会包含encryption,您必须回答是 – 仅仅因为图书馆是由Apple提供的,不会使您摆脱困境。

关于原来的问题,苹果发展论坛最近的post让我相信,即使你使用的都是SSL,你也需要回答“是”。

所有这些对于一个仅仅使用TLS连接到他们自己的Web服务器的应用程序开发者来说可能是非常混乱的。 由于ATS(应用传输安全)变得越来越重要,我们被鼓励将所有内容都转换为https,我认为更多的开发者会遇到这个问题。

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

代表问我关于我的应用程序,既然它通过了“主要functiontesting”,因为它与安全/通信没有任何关系,并简单地使用https作为连接我的客户数据到我们的服务器的通道 – 它落在EAR99类别这意味着它可以免于获得政府许可(请参阅https://www.bis.doc.gov/index.php/licensing/commerce-control-list-classification/export-control-classification-number-eccn

我希望这有助于其他应用程序开发人

截至2016年9月20日,使用https(或其他forms的encryption)的应用程序不再需要注册: https : //www.bis.doc.gov/index.php/informationsecurity2016-updates

事实上,在SNAP-R上,您不能select“encryption注册”: 在这里输入图像描述

他们特别指出:

encryption注册不再需要 – 现在注册的一些信息进入Supp。 第8部分到第742部分报告。

这意味着您可能需要向BIS发送年度报告,但您不需要注册,并且在提交应用程序时可以注意到它是免除的。

@hisnameisjimmy是正确的:您将注意到(至less截至今天,2016年12月1日),当您提交您的应用程序进行审阅并达到“出口合规性”演练时,您会注意到该菜单现在声明HTTPS是免费版encryption(如果您用于每个呼叫):

在这里输入图像描述

在这里输入图像描述

是的,根据iTunes Connect出口合规性信息屏幕,如果您使用内置的iOS或MacOSencryption(钥匙串,https),则根据美国政府出口法规使用encryption。 您是否有资格获得出口合规豁免取决于您的应用程序的function以及如何使用此encryption。 附加图片显示了iTunes Connect出口合规性屏幕,以帮助您确定您的出口报告义务。 其中特别指出:

如果您正在使用ATS或致电HTTPS,请注意,您需要向美国政府提交年终自我分类报告。 学到更多

iTunes Connect出口合规信息Q1

iTunes Connect导出符合性信息Q2

我发现这个来自美国工业和安全局的FAQ非常有帮助。

encryption

问题15(什么是注释4?)是重要的一点:

附注4中排除第5类第2部分的项目的例子包括但不限于以下内容:

消费者应用。 一些例子:

盗版和防盗软件或音乐; 音乐,电影,音乐,数字照片 – 播放器,录像机和组织者游戏/游戏 – 设备,运行时软件,HDMI和其他组件接口,开发工具液晶电视,蓝光/ DVD,video点播(VoD) ,数字录像机(DVR)/个人录像机(PVR) – 设备,在线媒体指南,商业内容完整性和保护,HDMI和其他组件接口(而不是video会议); 打印机,复印机,扫描仪,数码相机,互联网相机 – 包括家用电器和家用电器的零部件

如果你没有明确地使用encryption库,或者滚动你自己的encryption代码,那么我认为答案是“否”

简短的回答:是的,但你不必做任何事情

我在网上search了几个小时。 其实这很容易,你可以validationiTunes连接:

1.你必须做的

如果您的应用程序仅使用HTTPS或仅使用encryption进行身份validation,令牌等, 则无需执行任何操作,只需包括

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

在Info.plist中,你就完成了

2.validation

你可以validation iTunes连接。

  • select你的应用
  • select了function
  • selectencryption
  • 点击“+”
  • 按照对话框
  • 对于https或身份validation答案是肯定的是的

无论如何,你当然应该仔细阅读对话。


一个非常有用的文章可以在这里find:

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

如果你不得不问,答案可能是否定的。 当苹果谈论encryption时,他们正在讨论在你的代码中添加例程或库,以便在存储或传输数据之前明确encryption数据。 如果你还没有这样做,你还没有添加encryption(https不计算在内,就像苹果提供的那样)。