Java密码学扩展


15

有人告诉我,为了在我的Java应用程序中支持AES256加密,我需要具有无限强度管辖权策略文件的JCE。

我从Oracle下载此文件并解压缩后,仅看到2个JAR:

  • local_policy.jar; 和
  • US_export_polic.jar

我只想确认我在这里什么都不丢失!我的理解(在阅读完之后README.txt)是,我只是将这两个放在我的<JAVA_HOME>/lib/security/目录中并且应该安装它们。

用这些JAR的名称,我必须假定它不是不能处理AES256的Java Crypto API,但这实际上是一个法律问题,也许吗?并且这两个JAR基本上告诉JRE:“ 是的,运行此级别的加密(AES256)在法律上是可以接受的。 ”我是正确的还是偏离基准的?

Answers:


14

以下博客文章回答了您的问题:

http://blogs.adobe.com/livecycle/2011/10/configuring-the-jdk-for-rights-management-encryption-using-aes-256-bit-keys.html

您实际上需要两个JAR才能使用AES256加密,并且需要执行以下步骤,我引用:

将这两个JAR文件复制到JDK的/ jre / lib / security /文件夹中,以替换已经存在的类似名称的文件。

现在,到您的问题的第二部分:是的,这是由于法律问题造成的:

由于一些国家政府的进口管制限制,发货的管辖权政策文件指定可以使用“强”但有限的加密技术。这些文件的“强度不受限制”版本表明对居住在符合条件的国家(大多数国家)中的人没有加密强度的限制。但是只有“强”版本可以导入政府要求限制的国家。JCE框架将强制执行已安装的管辖区策略文件中指定的限制。

此外,安全性堆栈上还有一个相关的Q / A:云上的出口法律(密钥大小)。尽管该问题是针对云的,但主要的答案不仅限于“云”,还列出了您无法获得软件销售许可的国家以及需要进口许可的国家。

最后,您可以在Wikipedia上找到有关美国密码学出口的更多信息。


因此,对于实际上不起作用的法律,这是一种解决方法……有趣。
Zbyszek

我还是很困惑。为什么JRE带有lib / security / policy / unlimited和limited子文件夹,它们似乎在复制这些文件?因此,安全文件夹中没有要替换的文件,它们更深入。如果我严格遵循自述文件,可以删除策略文件夹吗?尺寸对我们来说是一个问题。
枪手
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.