本文主要是介绍linux系统下AES解密失败的解决办法(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
之前记录过一个linux系统下解密失败的文章,但是后来重新搭建服务器的时候,又遇到解密失败的问题。这里在做一下记录。
之前遇到问题是
javax.crypto.BadPaddingException:Given final block not properly padded。
该问题解决文章:https://blog.csdn.net/u011665991/article/details/88608745
今天搭建服务器遇到问题是:
Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
问题原因:
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环境中,就可以解决限制问题。
解决方法:
JDK8 jar包下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
JDK7 jar包下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK6 jar包下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
把里面的两个jar包:local_policy.jar 和 US_export_policy.jar 替换掉原来jdk安装目录XXX\Java\jre6\lib\security 下的两个jar包接可以了
注意路径不要错了,需要重启tomcat服务才能生效
这篇关于linux系统下AES解密失败的解决办法(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!