java密鑰長度受限制問題解決

1、報錯信息html

java.security.InvalidKeyException: Illegal key size or default parametersjava

2、錯誤中文翻譯安全

java安全無效密鑰異常:非法密鑰大小或默認參數oracle

3、錯誤解釋ide

Illegal key size or default parameters是指密鑰長度是受限制的,java運行時環境是受限於policy文件。
文件位於${java_home}/jre/lib/security下,這種限制是由於美國對軟件出口的控制。翻譯

4、爲何報錯htm

由於美國的進口管制限制,Java發佈的運行環境包中的加解密有必定的限制,默認不容許256位密鑰的AES加解密blog

5、解決辦法ip

就是修改策略文件,更改爲官網提供的JCE無限制權限策略文件。get


JDK6的下載地址:

https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
文件名叫:jce_policy-6.zip


JDK7的下載地址:
https://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
文件名叫:UnlimitedJCEPolicyJDK7.zip


JDK8的下載地址:
(這裏注意一下JDK8的這個包只適用於Java 1.8.0_151之前的Java 1.8版本,Java 1.8.0_151之後的版本包括Java 1.8.0_151的日後看)
https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
文件名叫:jce_policy-8.zip


下載後解壓,能夠看到local_policy.jar和US_export_policy.jar以及readme.txt,
替換${java_home}/jre/lib/security/ 下面的local_policy.jar和US_export_policy.jar便可

6、JDK1.8.0_151及其之後的版本怎麼解決

JDK1.8.0_151及其之後的版本無需去官網下載 local_policy.jar和US_export_policy.jar這兩個jar包,只須要修改${java_home}/jre/lib/security/ 這目錄下的java.security文件配置便可.
具體過程和說明以下:
一、說明
從Java 1.8.0_151版本開始,java公司爲JVM啓用無限制強度管轄策略,有了一種新的更簡單的方法。若是不啓用此功能,則不能使用AES-256,啓用起來也很是方便。
二、看圖
java密鑰長度受限制問題解決
看圖後說明:你會發現${java_home}/jre/lib/security/沒有了上文提到的local_policy.jar和US_export_policy.jar兩個文件,而多了一個policy文件夾,而它的下面還有兩個文件夾,在其子文件下面分別都有local_policy.jar和US_export_policy.jar兩個文件。而它的兩個子文件夾的含義就是limited(有限制)和unlimited(無限制),這下我相信你應該明白了。沒錯,咱們直接啓動unlimited(無限制)便可。
三、啓動unlimited(無限制)
把java.security文件的第826行的註釋去掉便可,以下圖所示:
java密鑰長度受限制問題解決四、重啓java項目便可。

相關文章
相關標籤/搜索