在Android上安装SunJCE?

时间:2010-08-03 21:41:55

标签: java android encryption cryptography

我工作的公司对Android应用程序开发持谨慎态度,因为默认加密库Bouncy Castle未通过FIPS-140认证。我无法改变他们的思想或政策。

我想知道我用我的应用程序安装(或至少捆绑)SunJCE的选项。

首先,我找不到我要下载这个jar的最新版本的地方。我尝试从我的桌面抓取jce jar并将其设置为我的Android项目中的内部jar并收到这个有趣的,如果不祥的消息:

  

尝试包含核心课程   (java。*或javax。*)在其他东西中   而不是核心库。可能就是这样   你试图包括在一个   应用核心库(或者   其中一部分来自桌面虚拟   机。这肯定不会   工作。它至少会危害它   您的应用与未来的兼容性   该平台的版本。也是   经常有可疑的合法性。

     

如果你真的打算建立一个核心   图书馆 - 这是合适的   作为创建完整虚拟的一部分   机器分配,而不是   编译应用程序 - 然后使用   “--core-library”选项   禁止显示此错误消息。

     

如果你继续使用   “ - 核心库”但实际上是   建立一个应用程序,然后是   预先警告你的申请会   在某些方面仍然无法建立或运行   点。请为生气做好准备   例如,找到那些的客户   你的申请停止运作   一旦他们升级他们的经营   系统。你应该为此负责   问题

     

如果你合法地使用了一些   恰好位于核心的代码   包,然后最简单的安全   替代方案是重新包装   那段代码。也就是说,移动课程   问题进入你自己的包   命名空间。这意味着他们会   永远不要与核心系统发生冲突   类。如果你发现你不能   这样做,那是一个迹象   你所走的路会   最终导致痛苦,痛苦,   悲伤,悲伤。

我不是一个痛苦,痛苦,悲伤或悲伤的人,所以我想知道正确的方法来完成这项任务,只要这是我应该尝试的事情。

1 个答案:

答案 0 :(得分:1)

由于遇到编译器错误,您将无法导入java.*javax.*类。遵循他们的指示应该工作,但更改JCE大小的东西的包可能是重要的,我不知道结果是否仍然符合FIPS-140的条件。另外,如果JCE是用纯Java实现的,那么它在Android上可能会很慢。除非JCE来自GPL版本的Java或其他一些开源实现,否则错误消息提示的许可问题是相关的。

还有其他可用的FIPS-140加密库,例如NSS,它们具有Java绑定,还有其他可以编写Java绑定的加密库。您可以让其中一个使用NDK的人在Android上运行。