最佳实践

由于旧证书过期前的5天内,微信支付会同时使用新旧证书,因此为实现新老证书的平滑切换,商户系统需支持多平台证书。

方式1

商户需通过平台证书下载API获取证书,并将其部署到生产环境中。线上服务根据报文头部的证书序列号Wechatpay-Serial找到对应的平台证书,再使用其中的公钥进行签名验证。商户需在旧证书过期前5-10天,完成新证书的部署。

商户也可以选择“惰性加载”的方式实现平滑切换。当没有证书序列号所对应的证书时,调用API获取对应的平台证书,再进行签名验证或。为了提高效率,商户可以在证书有效期内进行适当的缓存。微信支付API v3的Java库wechatpay-apache-httpclient,实现了这种方式。

我们建议:

1. 将获取和部署的过程自动化,并设置定时(如每日)任务,降低证书更新时因人为因素造成商户系统风险。

2. 使用中控服务统一获取和安全存储证书,其他业务逻辑服务使用的证书均来自于该中控服务,或者直接使用中控服务进行签名验证。

操作处理时序图:

方式2

商户也可以选择“惰性加载”的方式实现平滑切换。当业务逻辑服务上没有证书序列号所对应的证书时,调用API获取对应的平台证书,再进行签名验证或敏感信息加密。为了提高效率,商户可以在短时间内进行适当的缓存。

注意:系统中已有的微信支付平台证书在到达有效期后,商户系统应主动将其作废,避免安全风险。微信支付不会使用过期的证书。

微信支付证书如何部署在linux,微信支付平台证书更新指引相关推荐

  1. java 庖丁解牛api_Java 微信支付 APIv3 平台证书的命令行下载工具

    Certificate Downloader Certificate Downloader 是 Java 微信支付 APIv3 平台证书的命令行下载工具.该工具可从 https://api.mch.w ...

  2. API v3版微信支付平台证书获取与自动更新

    API v3版微信支付平台证书获取与自动更新 关于微信证书 获取平台证书 证书自动更新 首次下载证书 关于微信证书 微信支付开发有两份证书. ♥ 商户证书:商户平台证书私钥可以对请求进行签名,微信服务 ...

  3. 微信支付:小微商户申请入驻第三步:平台证书序列号解密和敏感词加密

    首先,还是上微信官方链接 微信官方平台证书解密指引 微信官方敏感词加密指引 平台证书解密 定义接口 首先,由于平台证书获取,跟解密,都是平台证书这货的,那就放在同一个service吧.pom文件之前文 ...

  4. 微信支付专题——微信平台证书的两种下载方式,亲测成功

    hello,大家好呀,好久没整理笔记了,今天抽时间整理了一下最近在研究的技术.         梦梦最近在做微信支付的模块,由于做的是服务商模块的,商户进件功能需要使用微信平台的公钥对敏感信息加密,而 ...

  5. 微信支付v3平台证书

    微信支付v3平台证书生成详细过程 下载地址:GitHub - wechatpay-apiv3/CertificateDownloader: Java 微信支付 APIv3 平台证书的命令行下载工具 生 ...

  6. SAP系统和微信集成的系列教程之一:微信开发环境的搭建

    系列目录 (1) 微信开发环境的搭建 ( 本文 ) (2) 如何通过微信公众号消费API (3) 微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据 (4) 如何将SAP C4C主数据变化 ...

  7. Java中的微信支付(2):API V3 微信平台证书的获取与刷新

    1. 前言 在Java 中的微信支付(1):API V3 版本签名详解一文中胖哥讲解了微信支付 V3 版本 API 的签名,当我方(你自己的服务器)请求微信支付服务器时需要根据我方的API 证书对参数 ...

  8. PHP开发微信支付小微商户V3版本 图片上传、生成签名、平台证书获取、平台证书编号、敏感信息加密

    吐槽一下,看微信支付小微商户的开发文档头都大了,什么是平台证书.什么是商户API证书...... 好了废话不多说下面明确几个名词: 商户API证书:是由权威CA颁发,用于有关微信支付等操作API接口使 ...

  9. node 微信红包 证书出错,请登录微信支付商户平台下载证书

    按照官方文档写的代码,测试给自己发红包时,提示证书出错,请登录微信支付商户平台下载证书. 我是用的superagent库,错误前的核心代码是: const url = 'https://api.mch ...

最新文章

  1. Spring源码分析篇(一)之Gradle环境搭建
  2. NLP模型也有“老师”了!装上这个开源库,1毫秒纠正语法错误
  3. SpringBoot Actuator监控【转】
  4. python 模拟抽象类
  5. 【python数据挖掘课程】二十二.Basemap地图包安装入门及基础知识讲解
  6. 不相交集合求并的路径压缩
  7. 找第一个只出现一次的字符_leetcode哈希表之第一个只出现一次的字符
  8. win10上如何启用或禁用Windows功能
  9. 可近似看作直线的是_高中物理题根之一:《匀变速直线运动的规律》
  10. 中gcd函数_算法|博弈论入门(函数讲解+真题模板)
  11. MFC编辑多文档的标题
  12. java zip4j 内存文件和磁盘文件 压缩和加密
  13. JavaScript 02
  14. 利用 IntelliJ IDEA 进行代码对比的方法
  15. 还没来得及买,就已经被淘汰的东西
  16. 01Postgresql下载安装和配置
  17. 北航计算机考博经验,北京航空航天大学考博经历
  18. java 实现魔兽搜索器 魔兽对战平台
  19. ubuntu mysql-admin_ubuntu 14.04中安装phpadmin即mysql图形管理界面
  20. 用计算机来谈生僻字,语义搜索及框计算:从百度查生僻字谈起

热门文章

  1. 微信支付回调验签失败,提示 java.security.InvalidKeyException: Illegal key size
  2. python语言画成圆相切_三个相切圆的公切圆
  3. 【计算机系统】LC-3中断试验
  4. div元素(css)定位
  5. ptaa乘以b_PTA-多项式A除以B
  6. 几何分布及其期望计算
  7. 离散数学复习:二元关系
  8. LVC | 一种简单的小样本目标检测方法
  9. python提取txt数据到excel
  10. android getpixel函数,关于Graphics.Blit函数在android上的巨坑