java – local_policy.jar和US_export_policy.jar与Unlimited Strength Vs Default不同.
作者:互联网
在java平台文档http://www.oracle.com/technetwork/java/javase/jrereadme-182762.html.关于评论
/lib/security/local_policy.jar
/lib/security/US_export_policy.jar
无限强度Java密码学扩展
由于某些国家/地区的导入控制限制,Java SE Development Kit和Java SE Runtime Environment附带的Java Cryptography Extension(JCE)策略文件允许使用强大但有限的加密.
JDK网站上提供了这些文件的无限强度版本,表明对加密强度没有限制,适用于符合条件的国家/地区的用户.那些居住在符合条件的国家/地区的人可以下载无限强度版本,并使用无限强度文件替换强加密jar文件.
问题
>每个JDK包都附带local_policy.jar和US_export_policy.jar吗?
>默认local_policy.jar和US_export_policy.jar的限制是什么.这是关键尺寸吗?
>如果我需要使用128位密钥,则需要使用Unlimited Strength Java Cryptography
延期
>有没有办法可以将这两个罐子保存在外部路径中并加载它.因为我有更多50台服务器而不是每台JDK,我宁愿将它保存在一个中心位置.
解决方法:
Does every JDK bundle comes with local_policy.jar and US_export_policy.jar ?
对.自1.4版本以来,JCE已集成到Java 2 SDK中.
What is the limitation in default local_policy.jar and US_export_policy.jar. Is it the key size ?
是的,这是关键尺寸.我不允许128位以上的东西.您可以使用int maxKeyLen = Cipher.getMaxAllowedKeyLength(“AES”)检查算法的最大大小;
If I need to use 128 bit keys does it required to go for Unlimited Strength Java Cryptography Extension
对于128位密钥加密,我认为你不需要Unlimited Strength Java Cryptography Extension jar.默认的应该可以正常工作.
Is there a way I can keep these two jars in external path and load it. Because I have more 50 servers rather than coping in each JDK I would prefer to maintain it in a central place.
如上所述,如果您使用128位密钥进行加密,则不应出现此情况,但如果您使用更长的密钥(例如256),则需要获得无限强度的jar并将其替换为$JAVA_HOME / jre / lib / security.与JDK / JRE本身一样,如果不是分布式服务器,则无法使其集中化.您需要在每台服务器上更换它.
参考oracles reference guide.
此外,如果您不想这样做,您可以参考以下主题以寻找替代方案 –
How to avoid installing “Unlimited Strength” JCE policy files when deploying an application?
反射是线程中的用户作为解决方法.虽然我不推荐你,但你可以看看它.
我在帖子中总结了一切.你也可以参考 –
How to install Java Cryptography Extension (JCE) unlimited strength jurisdiction policy files
标签:jce,java,linux 来源: https://codeday.me/bug/20191006/1860339.html