我已经创建了一个Java应用程序,需要分发给很多用户,这些用户确实安装了JRE,但大多数用户在JRE中不会有JCR无限强度Policy jar文件(因为这些文件需要手动删除,并且不与JRE安装捆绑)。
现在,我在几个地方读到,由于许可限制,JCE文件不能与需要部署的应用程序捆绑在一起,必须手动下载并放到JRE中。这是真的吗?如果是这样的话,我没有办法传送这些文件!这样做的另一个问题是跟踪JRE版本,因为不同版本的JRE有不同的JCE。因此,我可能不得不将JCE绑定到JRE1.4到1.7 (这是我的应用程序支持的内容)。
是否有JCE无限强度策略文件的替代方案?BountyCastle还需要这些文件。我对这些文件所做的唯一的事情就是AES256加密。任何替代办法都是有帮助的。
谢谢
发布于 2012-08-17 15:21:24
Bouncy城堡提供程序需要这些文件,并且只对使用这些策略文件的JRE (但既然是Oracle,我猜您是卡住了)。
在绝望的时候,您可能希望使用B儿GURASURE轻量级API (从org.bouncycastle开始的类)加密。当然,缺点是它需要重写,API没有那么好。轻量级API也不能用于将更高级协议(如JSSE (SSL)和CMS )的实现插件化。
或者,最后,您当然可以保持在限制规则的范围内。AES-128是非常强大的东西(实际上,您可能想知道在实际应用中部署AES-128而不是AES-258时有什么不同)。
发布于 2012-08-17 14:01:46
要在您的程序中执行比某些国家的进口法律允许的更高的加密操作,就需要这些文件。
jre默认不包含无限策略,但它是一个单独的下载,取决于国家的政策。
这样做的另一个问题是跟踪JRE版本,因为不同版本的JRE有不同的JCE。因此,我可能不得不将JCE绑定到JRE1.4到1.7 (这是我的应用程序支持的内容)。
你不需要那样做。在他的机器中安装jre的用户也会安装适当的文件,使用JCA/JCE或JSSE的代码不应该受到影响。
现在,我不知道应用程序携带在目标系统中运行所需的预配置的jre的许可问题是什么,以及它是否是一个有效的替代方案
https://stackoverflow.com/questions/12007231
复制相似问题