sign check fail:check Sign and Data Fail报错攻略

简介: 错误码:com.alipay.api.AlipayApiException: sign check fail: check Sign and ​Fail           报错原因:验签失败 ,未使用正确的支付宝公钥     在新版接口的调用过程中,常常出现此报错。

错误码:

com.alipay.api.AlipayApiException: sign check fail: check Sign and ​Fail

           报错原因:验签失败 ,未使用正确的支付宝公钥    

在新版接口的调用过程中,常常出现此报错。许多人认为自己的公私钥都是匹配的,支付已经成功或者说接口已经调用成功,出现这个报错百思不得其解。要知道在调用接口过程中,商户有一对RSA密钥,支付宝同样有一对RSA密钥,在调用过程中商户用自己的私钥签名后请求到支付宝服务器,支付宝服务器使用商户的公钥(商户上传到开放平台的公钥)验证是否是商户发送的请求。此时,接口调用成功,支付宝向商户发送异步通知或者同步通知。支付宝发送异步通知或者同步通知时,支付宝使用了自己的私钥签名,所以商户需要使用支付宝的公钥验签。错误就出在商户验签时没有使用正确的支付宝公钥。             

下面我用alipay.trade.query(统一收单线下交易查询接口)为例截图说明。               

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");

       这里的your private_key是指商户的私钥,alipay_public_key指支付宝公钥。(若alipay_public_key值不正确就会报此错 误)。


报错解决:

 确认使用的支付宝公钥是否正确,不同的环境使用的支付宝公钥不同,如沙箱环境、线上openapi网关和mapi网关对应的支付宝公钥是不一样的。更换正确的支付宝公钥后即可成功。


查询支付宝公钥: 

a)沙箱环境                                 

      1 登录开放平台(https://openhome.alipay.com);                  

      2 进入开发者中心,点击沙箱应用,在配置应用中,查看支付宝公钥即可。 

b)真实环境               

      1 登录开放平台(https://openhome.alipay.com);                                

      2 进入开发者中心,在我的应用下,选择使用的应用,在接口加签方式中,选择对应的支付宝公钥即可

目录
相关文章
|
3月前
|
并行计算 TensorFlow 算法框架/工具
【Deepin 20系统】解决Check failed: err == cudaSuccess || err == cudaErrorInvalidValue Unexpected CUDA erro
本文介绍了在使用Nvidia RTX 2070 GPU和TensorFlow 2时,解决GPU内存不足错误的方法,包括杀死占用内存的进程、重置GPU以及重启设备等方案。
70 3
微信分享报错 wxlog:Error:fail to load Keychain status:-25300 解决办法
微信分享报错 wxlog:Error:fail to load Keychain status:-25300 解决办法
2387 0
|
8天前
|
SQL
CHECK
【11月更文挑战第15天】
20 5
|
程序员
check sign Fail!或sign check fail: check Sign and Data Fail!-自查方案
一、报这个错大多都是支付宝公钥配置错误,不同环境的公钥是不同的,大家先确认自己的支付宝公钥获取是否正确:  1. 沙箱公钥【查看】 密钥生成可参照【如何生成RSA,RSA2密钥】  2. 开放平台密钥【查看】,已创建应用的,直接打开对应的应用进行查看, 创建应用可参照:【如何创建应用】 打开应用查...
1959 12
|
2月前
|
网络安全
出现“Host key verification failed”错误--解决
遇到“Host key verification failed”错误,通常是因为远程主机密钥发生变化,与本地保存的信息不符。这种情况可能是远程主机系统更改或重装等原因导致的。解决方法是根据提示使用`ssh-keygen -f "/root/.ssh/known_hosts" -R "[10.61.0.152]:29022"`命令移除旧的密钥信息,然后重新尝试连接。
487 5
|
4月前
|
Serverless 应用服务中间件 网络安全
函数计算操作报错合集之如何处理报错 "Function instance health check failed on port 7860 in 120 seconds."
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
小程序 API 开发者
【异常解决】“errcode“:47003,“errmsg“:“argument invalid! data.date4.value invalid rid:xxxxxx
【异常解决】“errcode“:47003,“errmsg“:“argument invalid! data.date4.value invalid rid:xxxxxx
618 0
【异常解决】“errcode“:47003,“errmsg“:“argument invalid! data.date4.value invalid rid:xxxxxx
|
6月前
|
开发者 iOS开发
no identity found Command CodeSign failed with a nonzero exit code
no identity found Command CodeSign failed with a nonzero exit code
76 0
|
6月前
|
应用服务中间件 Python 容器
ERROR [ntContainer#0-1] o.s.a.r.l.SimpleMessageListenerContainer 1917: Failed to check/redeclare aut
ERROR [ntContainer#0-1] o.s.a.r.l.SimpleMessageListenerContainer 1917: Failed to check/redeclare aut
236 0
|
6月前
|
存储
tracker_query_storage fail, error no: 28, error info: No space left on device
tracker_query_storage fail, error no: 28, error info: No space left on device
157 0