评论

微信支付V3支付通知JAVA解密出现Illegal key size错误

微信支付V3支付通知JAVA解密出现Illegal key size错误

JDK版本:1.8.0

如果您确认自己的参数无误,符合官方文档中要求的参数。

官方文档链接:https://pay.weixin.qq.com/wiki/doc/apiv3_partner/wechatpay/wechatpay4_2.shtml

解密时如果一直出现这个错误,是因为JRE中自带的“local_policy.jar ”和“US_export_policy.jar”是支持128位密钥的加密算法,而当我们要使用256位密钥算法的时候,已经超出它的范围,无法支持,所以才会报:“java.security.InvalidKeyException: Illegal key size or default parameters”的异常。


解决方案:去官方下载JCE无限制权限策略文件


JDK5: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR


JDK6: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html


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.jarUS_export_policy.jar以及readme.txt


如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件。


如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。



这样就可以解密成功了

最后一次编辑于  2021-08-04  
点赞 6
收藏
评论

4 个评论

  • 弹剑听潮
    弹剑听潮
    2022-11-22

    微信文档写的真垃圾,搞了半天没搞明白,还是兄弟牛皮

    2022-11-22
    赞同 2
    回复 1
    • 百事可乐
      百事可乐
      2023-12-24
      微信文档真的垃圾,乱七八糟,多此一举。搞什么加密,增加难度,如果要安全的话,人家自己会搞一套加密的 。 文档垃圾不限于此,all in。
      2023-12-24
      回复
  • good names
    good names
    2022-10-19

    厉害!

    2022-10-19
    赞同 1
    回复
  • cv、master
    cv、master
    2022-03-17

    nice啊兄弟 我就是这个错误 已经解决了。 和微信官方的技术咨询唠嗑半天也没解决,他就会喊你看文档

    2022-03-17
    赞同 1
    回复 1
    • 大鲸
      大鲸
      2022-08-05
      发下下载的下来的包
      2022-08-05
      1
      回复
  • Deity
    Deity
    2023-02-23

    这个怎么解决的啊,我是8u361版本的,文件也改了,jar也试过都没用

    2023-02-23
    赞同
    回复 1
    • 🌻 Joe.zhou💰
      🌻 Joe.zhou💰
      2023-08-01
      解决了吗?同样不行。。。
      2023-08-01
      回复
登录 后发表内容