JDK1.8.0_151的無(wú)限制強(qiáng)度加密策略文件變動(dòng)

JDK1.8.0_151無(wú)需去官網(wǎng)下載 local_policy.jar US_export_policy.jar這個(gè)jar包,只需要修改Java\jdk1.8.0_151\jre\lib\security這目錄下的java.security文件配置即可。

隨著越來(lái)越多的第三方工具只支持 JDK8,最近公司也計(jì)劃從 JDK7 升級(jí)到 JDK8,在線下環(huán)境升級(jí)過(guò)程中,發(fā)現(xiàn)某些項(xiàng)目報(bào)以下異常:

java.security.InvalidKeyException: Illegal key size

這是因?yàn)槟承﹪?guó)家的進(jìn)口管制限制,JDK默認(rèn)的加解密有一定的限制。
比如默認(rèn)不允許 256 位密鑰的 AES 加解密,解決方法就下載官方JCE無(wú)限制強(qiáng)度加密策略文件,覆蓋即可。

但是發(fā)現(xiàn)公司選用的 1.8.0_151 版本的 $JAVA_HOME/jre/lib/security/ 目錄下面多了一個(gè) policy 文件夾,里面還有兩個(gè)文件夾

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

于是搜了一下,發(fā)現(xiàn)了這篇文章:Java Unlimited Strength Crypto Policy for Java 9 or 1.8.0_151,以下內(nèi)容為該文章的翻譯。

從Java 1.8.0_151和1.8.0_152開(kāi)始,為JVM啟用 無(wú)限制強(qiáng)度管轄策略 有了一種新的更簡(jiǎn)單的方法。如果不啟用此功能,則不能使用AES-256。

請(qǐng)?jiān)?jre/lib/security 文件夾中查找文件 java.security。
例如,對(duì)于Java 1.8.0_152,文件結(jié)構(gòu)如下所示:

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

現(xiàn)在用文本編輯器打開(kāi)java.security,并找到定義java安全性屬性crypto.policy的行,它可以有兩個(gè)值limitedunlimited - 默認(rèn)值是limited。

默認(rèn)情況下,您應(yīng)該能找到一條注釋掉的行:

#crypto.policy=unlimited

您可以通過(guò)取消注釋該行來(lái)啟用無(wú)限制,刪除

crypto.policy=unlimited

現(xiàn)在重新啟動(dòng)指向JVM的Java應(yīng)用程序即可。

Read More

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

轉(zhuǎn)自:http://blog.kail.xyz/post/2018-06-23/java/jce-policy-changes-in-java-se-8u151.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容