老哥你解决了吗?
签名验证失败不通过,“错误的签名,导致验签失败”是什么原因导致的呢?根据文档提示所需要检查的以下几个, 1.签名串的最后一行没有附加换行符 如果请求报文主体为空(如GET请求),最后一行应为一个换行符。 =====>根据报错信息这个排除 2.签名串中的参数,跟实际请求的参数不一致 手工拼接的URL,和实际请求发送的不一致。我们建议的实现是,使用HTTP库构造请求对象或者URL对象,再使用相应的方法取得URL。===》这个url我是string拼接的 如下 https://api.mch.weixin.qq.com/v3/apply4subject/applyment/merchants/+mchid+"/state"签名和设置Authorization头时,使用了前后生成的两个时间戳。 =====>这个排除 签名和设置Authorization头时,使用了前后生成的两个不同的随机串。=====>这个排除 签名和请求时,使用了前后两次序列化的JSON串作为请求主体。 =====>这个排除 商户的开发者可以将关键参数生成并保存在变量中,签名和发送请求时统一使用,避免前后生成的信息不一致。=====>这个排除 3.文本的编码不一致 生成签名串使用了非UTF-8编码或者未设置具体编码。 =====>这个排除 4使用了错误的商户私钥 开发者可以使用如下的openssl命令检查私钥和商户证书中的modulus(p、q两个大素数的乘积)是否一致。如果两者一致,那么私钥和证书是成对的。 ======>这个我根据微信平台返回的证书获取的privatekey用的是下图的apiclient_key跟商户序列号用的是apiclient_cert [图片] [图片] [图片] 代码一块就是简单的拼接 [图片] [图片] [图片] [图片] 能看看是哪一块出问题了吗
2019-10-11老哥你解决了吗,智慧零售的验签通过了嘛
APIV3,微信商户实名认证,提交申请参数,返回“错误的签名,验签失败”?{ "code":"SIGN_ERROR", "detail":{ "detail":{ "issue":"sign not match" }, "field":"signature", "location":"authorization", "sign_information":{ "method":"POST", "sign_message_length":3127, "truncated_sign_message":"POST /v3/apply4subject/applyment 1568277791 r9vnoi5n407x65yuganzjtd74vj3m943 {"busine ", "url":"/v3/apply4subject/applyment" } }, "message":"错误的签名,验签失败" }
2019-10-11