JDK1.8.0_151的無限制強度加密策略文件變更

JDK1.8.0_151的無限制強度加密策略文件變更

JDK1.8.0_151無需去官網下載 local_policy.jar US_export_policy.jar這個jar包,只須要修改Java\jdk1.8.0_151\jre\lib\security這目錄下的java.security文件配置便可。html

隨着愈來愈多的第三方工具只支持 JDK8,最近公司也計劃從 JDK7 升級到 JDK8,在線下環境升級過程當中,發現某些項目報如下異常:java

java.security.InvalidKeyException: Illegal key size

這是由於某些國家的進口管制限制,JDK默認的加解密有必定的限制。
好比默認不容許 256 位密鑰的 AES 加解密,解決方法就下載官方JCE無限制強度加密策略文件,覆蓋便可。安全

可是發現公司選用的 1.8.0_151 版本的 $JAVA_HOME/jre/lib/security/ 目錄下面多了一個 policy 文件夾,裏面還有兩個文件夾編輯器

├── limited
│   ├── local_policy.jar
│   └── US_export_policy.jar
└── unlimited
    ├── local_policy.jar
    └── US_export_policy.jar

因而搜了一下,發現了這篇文章:Java Unlimited Strength Crypto Policy for Java 9 or 1.8.0_151,如下內容爲該文章的翻譯。工具

從Java 1.8.0_151和1.8.0_152開始,爲JVM啓用 無限制強度管轄策略 有了一種新的更簡單的方法。若是不啓用此功能,則不能使用AES-256。加密

請在 jre/lib/security 文件夾中查找文件 java.security
例如,對於Java 1.8.0_152,文件結構以下所示:spa

/jdk1.8.0_152
 |- /jre
      |- /lib
            |- /security
                  |- java.security

如今用文本編輯器打開java.security,並找到定義java安全性屬性crypto.policy的行,它能夠有兩個值limitedunlimited - 默認值是limited.net

默認狀況下,您應該能找到一條註釋掉的行:翻譯

#crypto.policy=unlimited

您能夠經過取消註釋該行來啓用無限制,刪除code

crypto.policy=unlimited

如今從新啓動指向JVM的Java應用程序便可。

Read More

JDK1.8.0_151以前的版本 參考 :http://czj4451.iteye.com/blog/1986483

相關文章
相關標籤/搜索