javax.crypto.AEADBadTagException: Tag mismatch 的解决办法

问题概述

关于这个问题,博主是在微信支付开发与配置过程中遇到的,在使用工具 “ CertificateDownloader-1.1.jar ” 生成平台证书时,报:“ javax.crypto.AEADBadTagException: Tag mismatch! ” ,提示标签不匹配,

如下图:

具体错误信息:

javax.crypto.AEADBadTagException: Tag mismatch!
        at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:578)
        at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1049)
        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:985)
        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847)
        at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
        at javax.crypto.Cipher.doFinal(Cipher.java:2164)
        at com.wechat.pay.contrib.apache.httpclient.util.AesUtil.decryptToString(AesUtil.java:38)
        at com.elias.CertificateDownloader.decryptAndValidate(CertificateDownloader.java:118)
        at com.elias.CertificateDownloader.downloadCertificate(CertificateDownloader.java:103)
        at com.elias.CertificateDownloader.run(CertificateDownloader.java:67)
        at picocli.CommandLine.executeUserObject(CommandLine.java:1729)
        at picocli.CommandLine.access$900(CommandLine.java:145)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2101)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2068)
        at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1928)
        at picocli.CommandLine.parseWithHandlers(CommandLine.java:2282)
        at picocli.CommandLine.run(CommandLine.java:2740)
        at picocli.CommandLine.run(CommandLine.java:2677)
        at com.elias.CertificateDownloader.main(CertificateDownloader.java:155)

解决办法

根据错误信息提示,“ 标签不匹配! ”,

根据提示初步判断为商户号的密码或者商户号序列号错误导致的,

通过比对,果然是商户号密钥写错了,

在通过工具 CertificateDownloader-1.1.jar 生成平台证书时,“--key”或者“-k”的参数值为商户号的API v3密钥,

而博主这边写成商户号序列号了,把“--key”的参数值修改为API v3后就可以正常通过工具生成商户平台证书了!!!

修正后,正确生成商户平台证书,如下图:

结论

1、商户号密钥错误,“--key”或者“-k”参数值错误,一定要正确的 API v3密钥;
2、商户号错误,“--mchid”或者“-m”参数值错误,一定要正确的商户号;
3、商户私钥错误,“--privatekey”或者“-f”私钥文件路径或文件错误或传输过程中损坏,一定要正确的商户私钥文件,文件路径也要正确(注意大小写);
4、商户证书序列号错误,“--serialno”或者“-s”参数值错误,一定要正确的商户证书序列号;
5、等等。。。;


好了,关于 javax.crypto.AEADBadTagException: Tag mismatch! 的解决办法 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者:华    仔
联系作者:who.seek.me@java98k.vip
来        源:CSDN (Chinese Software Developer Network)
原        文:https://blog.csdn.net/Hello_World_QWP/article/details/123209026
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值