錯誤:java.security.InvalidKeyException: Illegal key size or default parameters解決方法

錯誤:java.security.InvalidKeyException: Illegal key size or default parameters解決方法

原文地址:http://www.wxdl.cn/java/security-invalidkey-exception.html   作者:我心動了


Java幾乎各種常用加密算法都能找到對應的實現。因爲美國的出口限制,Sun通過權限文件(local_policy.jar、US_export_policy.jar)做了相應限制。因此存在一些問題:
●密鑰長度上不能滿足需求(如:java.security.InvalidKeyException: Illegal key size or default parameters);
●部分算法未能支持,如MD4、SHA-224等算法;
●API使用起來還不是很方便;一些常用的進制轉換輔助工具未能提供,如Base64編碼轉換、十六進制編碼轉換等工具。

Oracle在其官方網站上提供了無政策限制權限文件(Unlimited Strength Jurisdiction Policy Files),我們只需要將其部署在JRE環境中,就可以解決限制問題。
下載地址:
      ●Java 5.0 無政策限制文件
      ●Java 6 無政策限制文件
      ●Java 7 無政策限制文件
      ●其他版本 無政策限制文件

下載的壓縮包中僅有一個目錄,也就是jce目錄。該目錄中包含了4個文件:README.txt、COPYRIGHT.html、local_policy.jar和US_export_policy.jar。其中包含的兩個jar文件正是此次配置中用到的文件。

我們可以查看上述README.txt文件,你需要在JDK的JRE環境中,或者是JRE環境中配置上述兩個jar文件。

切換到%JDK_Home%\jre\lib\security目錄下,對應覆蓋local_policy.jar和US_export_policy.jar兩個文件。同時,你可能有必要在%JRE_Home%\lib\security目錄下,也需要對應覆蓋這兩個文件。
  配置權限文件的最終目的是爲了使應用在運行環境中獲得相應的權限,可以加強應用的安全性。通常,我們在應用服務器上安裝的是JRE,而不是JDK。因此,這就很有必要在應用服務器的%JRE_Home%\lib\security目錄下,對應覆蓋這兩個權限文件。很多開發人員往往忽略了這一點,導致事故發生。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章