微信支付V3 InvalidKeyException: Illegal key size

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

受到美国法律的约束,早期Java的运行时限制了JCE支持的密钥长度,即默认不支持256位的AES。解决的方法有三个:
  • (推荐)升级Java 8u162+,默认使用ulimited policy
  • Java 8u151和8u152,可以在你的程序中直接放开策略
Security.setProperty("crypto.policy", "unlimited");

Java9及以上,均无限制。

解决方案来自微信支付官方文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay7_2.shtml

posted @ 2023-03-16 11:29  可可西里(lemon)  阅读(266)  评论(0编辑  收藏  举报