报错:加密时java.security.InvalidKeyException: Illegal key size or default parameters解决办法
所以,我们需要网上下两个jar包,替换我们机器上JDK目录下的jar包,别下错版本,JDK8版本的这两个jar包下载地址:
https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
百度网盘地址:
local_policy.jar:
https://pan.baidu.com/s/1WnX2YWysCqFTe3L8QsuWUA 提取码:w34i
US_export_policy.jar:
https://pan.baidu.com/s/1lYyk0_wCMchJN90Z78yiow 提取码:e2kz 原文链接:https://blog.csdn.net/lkforce/article/details/96880110
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目录下,也需要对应覆盖这两个文件。
配置权限文件的最终目的是为了使应用在运行环境中获得相应的权限,可以加强应用的安全性。通常,我们在应用服务器上安装的是JRE,而不是JDK。因此,这就很有必要在应用服务器的%JRE_Home%\lib\security目录下,对应覆盖这两个权限文件。很多开发人员往往忽略了这一点,导致事故发生.
———————————————— 版权声明:本文为博主「飞火龙在天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_23145857/article/details/74931684