2012-01-05 74 views
10

我使用公开的AES256加密算法创建了一个存储用户名/密码等的应用程序。我没有写这个代码,只是复制并从网络上粘贴它,并将其包含在我的应用程序中。Apple加密应用程序批准

- (NSData *)AES256EncryptWithKey:(NSString *)key 
- (NSData *)AES256DecryptWithKey:(NSString *)key 

现在为百万美元的问题。我需要通过什么样的审批流程才能获得此应用程序的批准。网络上的答案几乎与丛林中的叶子一样多。有人说不需要它,其他人说你必须经过美国政府批准才能经历50-60天的周期。

如果有人在他们的应用程序之前使用过这种加密方式,那么请让我知道我需要做些什么才能成功通过Apple门户管理员批准此应用程序。谢谢

+0

复制和粘贴代码通常是一个坏主意。你有权使用该代码并分发它吗?仅仅因为它在线并不意味着你有权限。 – jer 2012-01-05 01:00:06

+11

伙计,我有权限,这不是问题。 – 2012-01-05 01:04:06

回答

7

(第一关:这并不构成真正法律意见)

之所以说它是很难得到明确答案的是,答案实际上非常依赖于案例,作为选择将您的软件导出到国际上的供应商,它是您正在挂钩作出决定并遵守政府法规。很容易认为这应该都是简单和简单的,因为苹果已经使开发人员在国际上销售他们的产品变得微不足道,但政府并没有这样看待它 - 你是一个独立的软件供应商,他出口的功能可能有监管影响。

这不是苹果的关怀或批准。导出合规不属于“应用程序审核”本身。因为他们是你的分销商,所以苹果在那里检查它,但他们在这种情况下的动机是政府合规性,而不是判断和批准/拒绝你 - 他们不希望参与法医执法业务。无论你怎么说,苹果公司几乎都会以你的名义接受你的话,但如果你后来发现不遵守规定,他们保留踢你的权利。

通过应用程序提交的向导。如果你说密码已经改变了,它会问你一系列有关你的密码做什么的非常具体的问题,并且如果有必要的话会要求你提交一个ERN,或者可能是一个CCATS的东西。 There is a FAQ here.

坏消息:你在做什么可能要求你申报密码。有豁免,但他们是非常具体的类型的产品而不是种类的实施(美国BIS网站,和苹果向导将指定他们)。简单地使用系统API或公众已知的加密算法并不是对它的保护。 (人们是否一直这样做而不注册它?当然他们会这样做,如果你愿意的话,你也可以。)

好消息:如果您需要的是ERN,这在过去一年左右已经成为一个非常简化的自动化流程。你可以在网上做,并在数小时内完成。关注此博客文章: http://tigelane.blogspot.com/2011/01/apple-itunes-export-restrictions-on.html 某些情况下可能仍然需要完整的CCATS流程,这可能会更复杂。

+0

@ quixoto,谢谢你的详细回复。对社区其他人的反馈,我按原样提交了我的应用程序,并且当它询问我是否具有加密功能时,我表示不支持......但我也表示,仅在美国销售此应用程序,而不是在全球范围内销售所有苹果市场。由于我在美国本地销售,因此没有任何出口,因此不需要出口管制。一旦知道我的应用程序获得批准,我会更新我的回复。谢谢大家谁帮我这个帖子 – 2012-01-06 20:14:34

-4

我相信你无事可做。

有关美国出口管制的进一步信息,我建议在https://softwareengineering.stackexchange.com/q/127809/25885上略读回答,以获得不同机构的链接,以及在美国境外出口软件之前需要哪些通知或许可。一般来说,如果您使用系统提供的API而不自己引入任何新的加密代码,则应该完全清楚。 (至少,我没有听说过任何反例这样的逻辑,也没有读什么反驳它。)

+0

我希望你正确使用AES - 不要使用ECB,随机生成你的IV等。 – sarnold 2012-01-05 01:07:14

+1

不是真正的OP问题,但AES256EncryptWithKey是一个众所周知的剪切粘贴代码。它根本不管理IV,它不能正确管理AES密钥。这是非常不安全的,但它是非常常用的。它依赖于CommonCrypto。我在这里讨论类似代码段的问题:http://robnapier.net/blog/aes-commoncrypto-564。 (如前所述,OP没有要求评估他的安全性,我也没有给予;只是回应sarnold的问题。) – 2012-01-05 01:21:53

+1

@quixoto:如果苹果提交向导清楚,Sam不会在这里询问_us_ 。 :) – sarnold 2012-01-05 01:41:52

1

我没有做任何长ERN或CCATS处理。应用程序在5天内获得批准。

更正:其实这是我的应用程序被批准的纯粹愚蠢的运气。我的应用程序描述中没有提到我在应用程序中使用了AES 256加密。如果您没有提及,那么该应用程序将获得批准,而无需任何额外的文书工作。如果你这样做,然后准备好一个漫长的过程。苹果公司无法检查你的应用是否有加密功能。它取决于你声明与否。

+0

这就是热闹。这是可取的吗?我因为这个原因被拒绝了一次。如果我只是在我的应用程序描述中删除了我正在使用加密算法的部分,那么我可能会被接受? (顺便说一下,我的密码管理器应用程序) – Esqarrouth 2014-03-12 01:00:28

+0

@Sam你可以让我知道你的应用程序仍然在应用程序商店。 2015年后也。 – Sneha 2016-01-29 03:59:42

相关问题