java语言sdk公钥证书签名报错:com.alipay.api.AlipayApiException: 支付宝公钥证书校验失败,请确认是否为支付宝签发的有效公钥证书。
问题原因
1、app_cert_path引用证书错误;
2、alipay_root_cert_path引用证书错误;
3、format错误
4、私钥错误
5、支付宝证书过期
排查方案 1、app_cert_path引用证书错误
app_cert_path设置路径对象错误,不是密钥工具生成时原始的公钥文件路径,而是需要从开放平台上进行下载的证书crt文件。
应用公钥证书crt文件,需要点击进入,选择使用的应用,再点击应用信息,然后在“接口加密方式”中的“应用公钥证书”位置,点击“下载证书”。
200330-2.png
2、alipay_root_cert_path引用证书错误
alipay_root_cert_path设置路径对象错误,不是支付宝根证书。
支付宝CA根证书文件,需要点击进入,选择使用的应用,再点击应用信息,然后在“接口加密方式”中的“支付宝根证书”位置,点击“下载证书”。
200330-3.png
3、format错误
openapi接口format参数只支持设置json格式。
4、私钥错误
(非证书方式请求)检查自己的项目中的私钥和上传的商户公钥是否匹配:详见【如何检验RSA2密钥是否匹配】。
(证书方法请求)检查自己项目中的私钥和使用的商户公钥证书是否匹配:详见【如何检验密钥证书是否匹配】。
5、支付宝证书过期
检查支付宝公钥证书是否过期,如果过期建议重新生成密钥更换证书。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。