遇到问题不要慌,其实这个问题解决起来比较简单,就是证书过期了,更换新的证书就可以,现在只是提供了几个方法,方便大家排查和踩坑~~
申请证书和更新证书都是登陆商户平台那边操作的,其实在退款证书快要过期的时候,30天左右的时间微信那边会发送一条信息到管理员的注册的手机上,告诉你证书快要过期了,需要续签一下,如果你有商户平台的管理员账号就可以直接登陆账户中心--->API安全-->管理证书 然后选择续签的证书就可以了,这样证书也不需要替换,但是现在的问题这种账户资源一般公司都不会放在研发部(开发人员)的手中,这样提示的信息你也不一定能拿的到(正常来说就是注册的领导会告诉你,收到了一条短信提示啥之类的,问题就是她不和你说!!!!一直等线上出问题了,你问她,她说她忘了!!!!口吐芬芳),然后出现了上面的错误,这个时候,求人不如求己,商户账户信息拿不到,我们就靠自己。
我的处理方法是:
把证书拿出来放到服务器可以操作的文件下面(这只是方面查询证书是否过期的方法,证书还是需要放在项目中的或者你项目可以访问到的路径位置上):
先输入:
openssl pkcs12 -in apiclient_cert.p12 -out tmp.pem -nodes
密码是商户号(记得手输~)
这个是为了生成一个tmp.pem的文件(其实你在现在这个文件下面可以看到生成的一个tmp.pem文件)
然后再输入openopenssl x509 -in tmp.pem -noout -serial -dates
然后你就可以看见你证书的申请时间(结束时间不对这里不能作为参考)
我这里是2020年9月份申请的,但是一般微信退款证书的有效期是一年,我这儿就过期了呀~~(换去吧)
这个时候必须是操作商户平台(要是最开始可以拿到账户就没这么多的事了)这边的信息了,重新申请,然后拿到新的证书替换就可以了,
但是还是有一点就是,如果在你更换证书后还是报证书过期,就去检查你退款时在项目中导入的证书路径有没有放对,还有就是退款时的商户信息是不是正确的,不要怀疑微信那边给的证书不对(除非是商户给的不对),重新申请了之后一定是最新的证书的,所以这个时候一定要去检查你自己的代码(坑)要是还是不对就把证书拿出来,和上面的操作一样,再检查一遍。