收藏
回答

投诉通知回调对resource里面的密文解密,报错?

java.security.InvalidKeyException: Illegal key size

本地解密出来报错,再三确认后密钥是APIV3key密钥,而且代码是按照示例代码来的,不知道是什么原因?

还是和JDK版本有关

回答关注问题邀请回答
收藏

1 个回答

  • 北望沣渭
    北望沣渭
    2021-06-25

    java低版本,受软件出口管制,只支持128bit的加解密,这个可能跟你的依赖库有关。

    使用Java加载密钥时,抛出异常InvalidKeyException: Illegal key size

    受到美国法律的约束,早期Java的运行时限制了JCE支持的密钥长度,即默认不支持256位的AES。解决的方法有三个:

    Security.setProperty("crypto.policy", "unlimited");
    

    Java9及以上,均无限制。


    PS,要看文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay7_2.shtml

    2021-06-25
    有用 1
    回复 1
    • 。。。。。。
      。。。。。。
      2021-06-28
      这个是解决了,现在解密又出AEADBadTagException: Tag mismatch!检查过了,密文API v3密钥也是对的,随机数也传了,完全按照示例代码,不知道哪里出问题了!
      2021-06-28
      回复
登录 后发表内容