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環境中,就可以解決限制問題。
下載地址:
1、Java 5.0 無政策限制文件
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
2、Java 6 無政策限制文件
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
3、Java 7 無政策限制文件
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
4、其他版本 無政策限制文件
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html
處理辦法: 在官方網站下載JCE無限制權限策略文件
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
切換到%JDK_Home%\jre\lib\security目錄下,對應覆蓋local_policy.jar和US_export_policy.jar兩個文件。同時,你可能有必要在%JRE_Home%\lib\security目錄下,也需要對應覆蓋這兩個文件。
原文地址:https://blog.csdn.net/qq_23145857/article/details/74931684