Home 对微信服务器发送来的报文解密时报错:illegal Key Size
Post
Cancel

对微信服务器发送来的报文解密时报错:illegal Key Size

问题

在加密解密时遇到这个问题:java.security.InvalidKeyException:illegal Key Size

问题原因

这是因为微信在进行数据传输的时候,会进行加密,微信使用的AES加密是256位,Java默认使用的解密包是local_policy.jar和US_export_policy.jar,但是这个默认的只支持128位的解密(java版本在1.8.0_161之后就没有这个问题了,默认是支持)。我们的版本低于1.8.0_161,默认是只支持128位的解密。

解决办法

  1. 这里选择下载Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 1.4.2
  2. 下载jce_policy-1_4_2.zip后解压,放入$JAVA_HOME/jre/lib/security/目录下替换原来的jar包。
  3. 重启服务
This post is licensed under CC BY 4.0 by the author.