当前位置: 首页 > 面试题库 >

local_policy.jar和US_export_policy.jar与Unlimited Strength Vs Default不同。

刘意
2023-03-14
问题内容

在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开发工具包和Java SE运行时环境附带的Java密码扩展(JCE)策略文件允许使用强而有限的加密。

JDK网站上为居住在符合条件的国家/地区的人提供了这些文件的无限制强度版本,表明对加密强度没有限制。居住在符合条件的国家/地区的人可以下载无限强度版本,并用无限强度文件替换强密码罐。问题

  1. 是否每个JDK捆绑包都随附了local_policy.jar和US_export_policy.jar?
  2. 默认local_policy.jar和US_export_policy.jar中的限制是什么?是密钥大小吗?
  3. 如果我需要使用128位密钥,是否需要使用Unlimited Strength Java Cryptography
    Extension

  4. 有没有一种方法可以将这两个jar保留在外部路径中并加载它。因为我有50台服务器,而不是每个JDK都应对,所以我宁愿将其维护在一个中央位置。


问题答案:

是否每个JDK捆绑包都随附了local_policy.jar和US_export_policy.jar?

对。自1.4版本以来,JCE已集成到Java 2 SDK中。

默认local_policy.jar和US_export_policy.jar中的限制是什么?是密钥大小吗?

是的,这是密钥大小。我的东西超过128位是不允许的。您可以使用以下方法检查算法的最大大小int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");

如果我需要使用128位密钥,是否需要使用Unlimited Strength Java Cryptography Extension

对于128位密钥加密,我认为您不需要无限强度Java密码扩展罐。默认的应该可以正常工作。

有没有一种方法可以将这两个jar保留在外部路径中并加载它。因为我有50台服务器,而不是每个JDK都应对,所以我宁愿将其维护在一个中央位置。

如上所述,如果您使用128位密钥进行加密,则不会发生这种情况,但是如果您使用更长的密钥(例如256),则需要获得无限强度的jar并将其替换为$JAVA_HOME/jre/lib/security。因为它在JDK
/ JRE本身中,所以即使在分布式服务器中也无法使其集中化。您将需要在每台服务器上更换它。

请参考oracles
参考指南。

另外,如果您不想执行此操作,则可以参考以下主题的替代方法-

[部署应用程序时如何避免安装“ Unlimited Strength”
JCE策略文件?](http://codingdict.com/questions/148407

反射是线程中用户的解决方法。虽然我不建议您查看它。

我已经在帖子中总结了所有内容。您也可以参考-

如何安装Java密码学扩展(JCE)无限强度管辖区策略文件



 类似资料:
  • 本文向大家介绍Ruby与Python | 相似和不同之处,包括了Ruby与Python | 相似和不同之处的使用技巧和注意事项,需要的朋友参考一下 Ruby与Python 如果我们谈论Ruby和Python,它们都是高级编程语言。另一方面,它们都有一些相似之处和不同之处。让我们先谈谈它们的相似之处。 Ruby和Python的相似之处 您可以使用它们两者来开发软件并分发它们,而无需支付任何许可费用。

  • 所以我会尽力解释我的问题。目前,我正在进行一项规模相当可观的计划。然而,正如350所说,我从未使用过这么多线程。它目前给了我一个内存不足的错误,但我已经尝试了多种选择: 添加-Xss参数 添加我可以在这个网站上找到的其他参数 此外,我还尝试编辑堆栈大小和用户限制 下面列出了内存溢出问题的错误。 当我发现无论我做什么,线程堆栈大小总是看起来是1024。 我目前从具有以下规格的VPS运行此. jar文

  • 问题内容: 我在C#和Java中发现了一些奇怪的地方。让我们看一下这个C ++代码: 在控制台中,您将看到X = 11(在此处查看结果-IdeOne C ++)。 现在让我们看一下C#上的相同代码: 在控制台中,您将看到1(而不是11!)(在这里查看结果-IdeOne C# 我知道您现在在想什么-“这怎么可能?”,但让我们转到下面的代码。 Java代码: 结果与C#中的结果相同(X = 1,在此处

  • 我有一个非常简单的配置docker-complace与和我想用它来托管简单的php网站。 有人能告诉我我做错了什么吗? 这是docker compose。产品名称: 这是网站。prod.conf文件: 我可以编写日志,日志看起来很好,当我运行docker ps时: 然后检查端口,我认为这看起来不错:

  • 我有一个新的打字错误39.5。15安装和添加网格元素9.5。0和t3sbootstrap 4.4。5在PagetConfig中定义的1列后端布局中创建包含3列的内容元素。 在较旧的TYPO3版本中,这工作正常(即TYPO3 7),但在TYPO3 9中,我在FE中得到以下错误: 尝试解析控制器操作的模板文件”标准- 我已经仔细检查并确认,gridelements和t3sbootstrap都包含在网站

  • 虽然我真的很喜欢LibGDX Box2d魔法,但在我的第一个项目中调整一切是很痛苦的。 我现在面临的问题是,即使我的sprite和DebugRenderer对齐,但当我触摸屏幕(在Nexus 5上测试)时,我得到了错误的坐标。 第一个例子——蓝点是触摸点 在这张图中,我触摸的是形状外部,但我得到的坐标实际上在形状内部,因此测试点返回true: 第二个例子-蓝点是接触点 在这张图像中,我触摸到了形状