前言
开发微信第三方平台中,使用微信解密,开发环境一切正常,生产环境解密异常java.security.InvalidKeyException: Illegal key size
。
原因
由于jdk限制策略,导致只能128位key进行加解密,而256位加解密则抛出异常。
解决方法
- 替换加密解密使用的包:
jar/lib/security
中的local_policy.jar
和US_export_policy.jar
。 - 替换包下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
- 替换后重启服务即可。
如何从Centos中找到java的路径
命令:
which java
[结果:/usr/bin/java]
ls -lrt /usr/bin/java
[结果:/usr/bin/java -> /etc/alternatives/java]
ls -lrt /etc/alternatives/java
[结果:/etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java]
cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java
该目录就是java的目录。