微信APIV3加解密:Illegal key size
Posted william_zhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信APIV3加解密:Illegal key size相关的知识,希望对你有一定的参考价值。
今天在开发微信APIV3接口的时候遇到的,微信第三方平台解密报的错误,原因:
如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.
解决方案:去官方下载JCE无限制权限策略文件。
JDK8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\\lib\\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\\jre\\lib\\security目录下覆盖原来文件。
引用:https://www.cnblogs.com/xiaopotian/p/10151326.html
以上是关于微信APIV3加解密:Illegal key size的主要内容,如果未能解决你的问题,请参考以下文章
微信 AES 解密报错 Illegal key size 三种解决办法
java.security.InvalidKeyException Illegal key size
java.security.InvalidKeyException: Illegal key size or default parameters