您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java InvalidKeyException非法密钥大小

Java InvalidKeyException非法密钥大小

错误意味着你的Java虚拟机使用的策略仅允许由于美国出口法律限制密码密钥的大小。

无限强度管辖权策略文件包含在Java 9中,并且认情况下使用(请参阅《 Java 9迁移指南》中的“安全更新”)。

如果你在Java 9中遇到此错误,则可能意味着策略配置已更改为限制性更强的策略(limited),请参阅迁移指南中的说明:

JCE管辖策略文件认值是无限的

如果你的应用程序以前需要Java密码学扩展(JCE)无限强度管辖权策略文件,那么你不再需要下载或安装它们。它们包含在JDK中,并且认情况下处于激活状态。

如果你所在的国家/地区或使用情况需要更严格的政策,那么有限的Java加密政策文件仍然可用。

如果你有认提供的两个策略文件都不满足的要求,则可以自定义这些策略文件以满足你的需求。

请参阅文件中的“ crypto.policy安全性”属性 <java-home>/conf/security/java.security,或 参阅《Java平台标准版安全性开发人员指南》中的“ 加密强度配置 ”。

Java 8 Update 161及更高版本 从Java 8 Update 161开始,Java 8认为“无限强度管辖权策略”。如果收到此错误,则可能表明配置已更改为limited。有关将其更改回的信息,请参见下一节有关Java 8 Update 151或上一节有关Java 9的说明unlimited。

从Java 8 Update 151开始,Java 8附带了无限强度管辖策略,但认情况下不使用。要启用它,你需要java.security在<java_home>/jre/lib/security(对于JDK)或<java_home>/lib/security(对于JRE)中编辑文件。取消注释(或包括)该行

crypto.policy=unlimited

确保使用以管理员身份运行的编辑器来编辑文件

策略更改仅在重新启动JVM后才生效(这对于长时间运行的服务器进程(例如Tomcat)尤其重要)。

为了向后兼容,下一部分中所述的安装策略文件仍然可以正常工作。

对于Java 8 Update 144和更早版本,你需要安装Java密码学扩展(JCE)无限强度管辖权策略文件(可从Oracle获得)。

要安装这些文件(README.txt在下载中):

下载无限强度的JCE策略文件

解压缩并解压缩下载的文件

这将创建一个名为jce的子目录。该目录包含以下文件

README.txt                   This file
local_policy.jar             Unlimited strength local policy file
US_export_policy.jar         Unlimited strength US export policy file

安装无限强度策略JAR文件

如果以后你决定恢复为原始的“强”但受限的策略版本,请首先复制原始JCE策略文件US_export_policy.jar和local_policy.jar)。然后,使用上一步中提取的无限强度版本替换强策略文件

JCE管辖策略JAR文件的标准位置是:

<java-home>/lib/security           [Unix]
<java-home>\lib\security           [Windows]

请注意,对于JDK,它位于jre / lib / security中。

新的策略文件仅在重新启动JVM后才生效(这对于长时间运行的服务器进程(例如Tomcat)尤其重要)。

java 2022/1/1 18:20:40 有517人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶