java.security.InvalidKeyException: Illegal key size
java.security.InvalidKeyException: Illegal key size
翻译
java.security.InvalidKeyException:密钥大小非法
1.问题原因
因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件。文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制。
当密钥长度大于128时会抛出java.security.InvalidKeyException: Illegal key size 异常。
2.解决方法
2.1 有policy 文件夹
找到java.security
把 # 注释去掉
#crypto.policy=unlimited
2.2 没有policy文件夹
直接替换 local_policy.jar,US_export_policy.jar两个jar包。
去Oracle官网下载JCE无限制权限策略文件。
Java5下载地址
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
Java6下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
Java7下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
Java8下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
线上使用java11无此问题。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)