证书与密钥
我是服务号类型,合作伙伴,在API安全栏里没有平台证书申请入口,这个还需要去申请DigiCert Global Root G2根证书吗?[图片] [图片] 如要申请的话要怎样操用,麻烦帮我看一下,多谢了!
[图片] [图片]
[图片] https://developers.weixin.qq.com/community/develop/article/doc/0002284c6948c066ad919a2bc67813 这个需要从新申请api证书吗
社区看了很多问答 都是提示 证书问题。这是服务器 本身的 SSL 证书问题 还是 支付接口的证书问题呢(支付接口V2 不需要证书) 关于SSL 证书问题呢, 查到的相关资料是 ssl 证书版本过高 我们用的 宝塔部署 部署了好几个网站 最近申请免费证书都是 证书品牌:R11 这些网站微信支付不行了 其他网站用的免费证书品牌: R3 的网站支付是正常的 <html> <head><title>400 The SSL certificate error</title></head> <body bgcolor="white"> <center><h1>400 Bad Request</h1></center> <center>The SSL certificate error</center> <hr><center>nginx</center> </body> <html>
今天中午11点多,我司网站使用的微信扫码支付出现故障,调用接口https://api.mch.weixin.qq.com/pay/unifiedorder,请求生成支付链接时,返回出错,返回 400 bad request the SSL certificate error nginx ,不知怎么解决,求助!11点之前都是正常的
你好,上述报错是调接口时携带了失效的API证书导致。微信支付在2018年已经停用旧的自签API证书,你的报错应该是使用了这份旧的自签证书。那请排查更换证书即可
自签证书与权威CA签发的证书区别请参考https://kf.qq.com/faq/180824JvUZ3i180824YvMNJj.html
查看API证书是否自签API证书:
openssl x509 -noout -text -in your_client_cert.crt
如果查出来的证书颁发者显示的是MmpaymchCA,那么就确认是自签证书。
查看p12格式API证书是否自签API证书:
openssl pkcs12 -info -in file.p12
使用文章中检测证书的grep命令行,显示存在G2证书。 写了一个临时查询的订单接口,使用https://api.mch.weixin.qq.com/pay/orderquery接口能正常查询过往订单,更改为43.142.224.50/pay/orderquery后进行url调用一直显示“curl出错,错误码:28”,这是什么情况呢?timeOut参数已经修改过了,还是一样的问题。
微信支付结果异步接口签名校验失败, Processing WechatPay notification,signature verification failed,signType[WECHATPAY2-SHA256-RSA2048] serial[31B36E50DBD9AED07703B6BD3015EF05AF67F919] message[1718991538 FjYABlPWHZNDdOzdVpJf2C0GaXUsbrLh {"id":"f873f7ff-cdad-56ed-b60a-628156359e8e","create_time":"2024-06-22T01:37:56+08:00","resource_type":"encrypt-resource","event_type":"TRANSACTION.SUCCESS","summary":"鏀粯鎴愬姛","resource":{"original_type":"transaction","algorithm":"AEAD_AES_256_GCM","ciphertext":"pSXtLhL1fJzY6fjKNYhile92ANFeJt12bUyWQqU4L2C23ALvgkeSCvQnyeH/oE1dTm/v/ByAbyZnuNoRx9g6W4Tg4fVLQzfltoHTifLEoRuTS5YWsmZHcGhcKb9w2MuAPoVjokTU4JmFoRGGg5LiR9SU1Gz6/aLbhq5olKJ7MWtsePJ33H/i7Qjv4v4EZW/7AeP/Nu1NIO6GG1QGTavXNOKJmQzWEkBAhiXuvAEIB85w+hduNMCt7ixUANv2ETsuqgcrlmvnJzyAIo5kYj8GPslEsPRxPptXqr7+UdRxcqO+DBzwLsHooECA80MpYwDPkZG2vsHKCogHMDzyIgLLI8QBqqEfCkmvSSdEKUILUPDobBUBXkcpCCMOpjB1AINXZdw0xQMMqVxWJgHcI/tE0S1v89FZJPUDBDOyao11gmFvYtycgpj+dulABkSCO2BNgidWYh+6XBq7lEQy00kFNtdLZI7LGhcIkgQADCGjKO41ueXlBn53IWL5gaTdYa2I0t/n6e47GIum1A15RkXqBPXqujnc6DH9kBdyrMJV6BKRRyu7+HWoI6rV+0cM8lugYweZmcNIJ78ZPiKXtMViPNgung==","associated_data":"transaction","nonce":"FptQzM9KLgUm"}} ] sign[OHPNzWbb/+QdT0QC03/fKWVaX0FpDgaZ1WBRUSvpoKeyW4Xi3DTaBnBe/xjJzINZpNIkow4D51PMFG269VQ4onp5ofhORg7AkqHWtJiHi8ZA2uQaRQmUSB4CBw/CkEtVOZno/QC3I0LCuv821KiwHjf/0Bccbg6PPZRC6yGyhUdC15oXksN0i/xKohP0RdyB6qk3B5RD6ggm7rdONFUMJen/lKE8NXn1CWQJCIuGm0JXmv8kfuFEEzuE5P/AF0bMDc+d46QWwgnjsBdSDbmRBkZNUiMQiK+BFSTb0VEzkSINCLc2sB0JbKFLKPCLhROguDEyyxlvC1RrcVulXF3ryg==]
在Windows系统下,hosts文件的完整路径为"C:\Windows\System32\drivers\etc\hosts";在hosts文件中新增一行如下内容,43.142.224.50 api.mch.weixin.qq.com。 请问下:微信商户扫码付业务,windows server 2019 自带了Digicert Global Root G2,修改hosts指向43.142.224.50,验证微信商户扫码付可以正常支付和退款,还需要更新Digicert Global Root G2证书或者 移除Digicert Global Root CA证书吗?
1、 我的代码 中,访问https 的请求 中 ServicePointManager.ServerCertificateValidationCallback 直接返回 true ,这样绕开了客户端对 微信支付的根证书验证。 如果是这样的话,8.5号 微信支付升级G2 证书后, 我发起微信支付请求能正常吗? 服务器已经有安装G2 证书的。我只是想确认 ServicePointManager.ServerCertificateValidationCallback 直接返回 true ,会不会影响微信支付。 2、我想模拟测试删除 本地环境G2证书后 发起请求测试。但是好像删除不了。 每次删除后 都会自动更新安装一个新的G2 证书。我没法验证 微信更新G2证书后的 场景。
根据指引:是否只有下面的微信支付域名才需要眼是否兼容? 1、比如:https://api.weixin.qq.com/ 不在下面的图片中是否就不需要验证(无证书兼容方面的问题)? A:如果商户的系统经验证是不能兼容新证书的,商户应在2024年8月5日0:00之前完成修正。如果无法按时完成修正,我们可提供仍使用旧证书的临时环境,商户可通过host绑定IP的方式使用,以临时规避证书更换产生的影响。请务必在2024年11月30日0:00之前完成系统修正,并取消绑定临时环境IP,恢复以正常的方式对接微信支付的生产正式环境。 临时环境host和IP对应关系如下: [图片]
绑定host 43.142.224.50 api.mch.weixin.qq.com,请求已部署新证书的微信支付服务器,服务器上没有G2证书,也能调用v3接口,是正常的吗?
我通过贵公司提供的工具结合后端平台已经生成了压缩文件,里面有三个文件,分别是:apiclient_cert.p12 apiclient_cert.pem apiclient_key.pem 但是在调用接口报错:商户证书序列号有误。请使用签名私钥匹配的证书序列号
根据指引: 执行以下命令: 1.0 商户可以使用以下命令来核实系统是否已内置了G2根证书: grep "DigiCert Global Root" /etc/pki/tls/certs/ca-bundle.crt # DigiCert Global Root CA # DigiCert Global Root G2 但是命令执行后没有# DigiCert Global Root CA和# DigiCert Global Root G2 2.0 商户可通过修改操作系统的hosts文件来绑定IP, 例如,可在hosts文件中新增一行如下内容,实现将域名"api.mch.weixin.qq.com"绑定到新证书环境: 43.142.224.50 api.mch.weixin.qq.com 执行systemctl restart network 执行业务代码是可以访问api.mch.weixin.qq.com的 nodejs axios 环境下请问这种情况是不是就验证过了?但是服务器系统没有G2证书
如果执行grep "DigiCert Global Root" /etc/pki/tls/certs/ca-bundle.crt后有如下结果, 是否就说明自己的项目不需要做任何其他调整? # DigiCert Global Root CA # DigiCert Global Root G2 # DigiCert Global Root G3
修改host后,通过微信支付V2接口报400,V3接口是正常的,请问是新的服务器不兼容v2接口嘛? v2调用报错(2024-06-04 17:03:18): [图片] v2接口:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers v3接口:https://api.mch.weixin.qq.com/v3/transfer/batches
微信支付新服务器证书兼容性验证指引
// 报错代码行 if (request.getTarget().getHostName().endsWith(WECHAT_PAY_HOST_NAME_SUFFIX)) { return executeWithSignature(route, request, context, execAware); } [图片]
平台证书更换指引
平台证书更换指引
平台证书用于v3版本接口的验签及敏感信息加密,不用则无需申请。平台证书和DigiCert Global Root G2根证书没有太多关联,DigiCert Global Root G2根证书的验证请参考指引:https://developers.weixin.qq.com/community/develop/article/doc/0002284c6948c066ad919a2bc67813