这个用的是apiclient_cert.p12文件生成的apiclient_cert.pem文件里面
第二种方式是使用微信支付公钥-管理证书那里下载的pub_key.pem证书,里面是-----BEGIN PUBLIC KEY-----开头的,我看文档描述使用公钥验签,所以一直用的这种方式。
不知道问题出在哪里一直报false
pub_key.pem证书使用 平台证书工具进行公钥验签无法选择文件,不知道是否理解错了,用上面那个apiclient_cert.pem是可以正常验签的,但是对比微信支付回调的签名值一直是错误的。
回调验签需要使用微信支付公钥或者平台证书验签。apiclient_cert.pem属于商户API证书。
签名工具的话只能用平台证书验,公钥的话 ,需要用代码,用不了工具
平台证书你要先下载https://pay.weixin.qq.com/doc/v3/merchant/4012551764
至于是用(微信支付公钥)还是(平台证书),你要看下回调请求头中的wechat_serial是公钥ID还是平台证书序列号
验证签名需要用平台公钥/平台证书进行验证签名,而不是用商户API证书进行验证