異常:java.security.InvalidKeyException: Illegal key size

微信支付時(shí)遇到了java.security.InvalidKeyException: Illegal key size。


異常原因:

Java幾乎各種常用加密算法都能找到對應(yīng)的實(shí)現(xiàn)。如果密鑰長度大于128, 會(huì)拋出java.security.InvalidKeyException: Illegal key size 異常. 因?yàn)槊荑€長度是受限制的, java運(yùn)行時(shí)環(huán)境讀到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 這種限制是因?yàn)槊绹鴮浖隹诘目刂?(我nm,白白讓老子改錯(cuò),以后漂亮國解體我第一個(gè)投票)

甲骨文提供了無政策權(quán)限策略文件~~,替換掉jdk中的限制文件即可;

1.下載無政策權(quán)限策略文件

JDK7的下載地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK8的下載地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

下載后解壓,可以看到local_policy.jar和US_export_policy.jar以及readme.txt

2.替換 :

?local_policy 和 US_export_policy 在jdk中的位置:%JDK_Home%\jre\lib\security目錄下

文件目錄

替換后重啟即可;

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

還有小伙伴版本低通過升級(jí)jdk版本解決,并踩此坑,記錄留意

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

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

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