java.security.key jar_异常: java.security.InvalidKeyException: Illegal key size
今天在做接口測試的時候遇到個異常:
java.security.InvalidKeyException: Illegal key size。
SecretKeySpec secretKeySpec = new SecretKeySpec(aesKey, "AES");
Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding");
IvParameterSpec ips = createCtrIv(nonce);
cipher.init(1, secretKeySpec, ips); //當代碼運行到這一行時就報錯了。爆出上面的異常
異常原因:如果密鑰大于128, 會拋出java.security.InvalidKeyException: Illegal key size 異常. 因為密鑰長度是受限制的, java運行時環境讀到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 這種限制是因為美國對軟件出口的控制.
解決方案:去官方下載JCE無限制權限策略文件。
下載后解壓,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安裝了JRE,將兩個jar文件放到%JRE_HOME%\lib\security目錄下覆蓋原來的文件
如果安裝了JDK,還要將兩個jar文件也放到%JDK_HOME%\jre\lib\security目錄下覆蓋原來文件。
總結
以上是生活随笔為你收集整理的java.security.key jar_异常: java.security.InvalidKeyException: Illegal key size的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python knn模型_kNN模型(P
- 下一篇: nginx 反向proxy多个 tomc