收藏
回答

商户API证书即将到期,打算申请一个新的证书,请问新老证书如何部署和过渡?

当新老证书并存时,微信侧会用哪个证书的公钥做信息加密?我这边又是用哪个证书私钥解密?应该如何处理呢?

-----------

2025.06.03更新在回复中,快速结论:需要做兼容处理。但是因很多业务中其实没有这个用私钥解密的场景,不做也没事。用了就要做。

最后一次编辑于  06-04
回答关注问题邀请回答
收藏

3 个回答

  • 支付社区运营
    支付社区运营
    03-10

    v3接口中 所有接口都需要 有效期内的商户api证书私钥文件apiclient_key.pem进行签名的。【商户api证书】过期的话 需要申请新的 进行替换。

    你说的新旧证书并存的话,一般是说的微信侧用来响应内容签名和回调签名的【平台证书/微信支付公钥】,和商户api证书无关;

    应答使用公钥的比例:是商户自己控制的,通过商户的http请求头的Wechatpay-Serial带微信支付公钥ID还是平台证书ID来判断


    回调使用公钥的比例:是微信支付控制的,商户不可以操作,灰度期间会按照比例使用公钥签名,剩余比例用平台证书签名,因此商户需要实现根据回调请求的 wechatpay-serial头来判断当前的回调是使用公钥还是平台证书,并使用对应的公钥或者平台证书验签。


    03-10
    有用
    回复
  • 郑旭东
    郑旭东
    03-10

    要是没啥问题,那我也就直接开始申请部署啦。但是我看这两个逻辑里,微信侧都用到了商户API证书公钥,如图:

    03-10
    有用
    回复 4
    • Memory
      Memory
      03-10
      这是平台证书逻辑,和商户API证书有啥关系
      03-10
      回复
    • 郑旭东
      郑旭东
      03-10回复Memory
      看蓝色的字
      03-10
      回复
    • Memory
      Memory
      03-10回复郑旭东
      再看也跟商户API证书没关系
      03-10
      回复
    • 郑旭东
      郑旭东
      06-04
      最后一图“敏感字段加解密场景”中需要用到商户API证书私钥解密敏感信息。如果存在多个有效的商户API证书,就需要根据微信侧返回应答中获得商户API证书序列号Wechatpay-Serial,确定使用对应的那个私钥。但因该场景应用很少,很多业务中不存在这个场景,所以也就没有做“多个商户API证书”的兼容处理。
      06-04
      回复
  • Memory
    Memory
    03-08

    返回的签名是通过平台证书/平台公钥计算的,和商户API证书没有关系

    03-08
    有用
    回复
登录 后发表内容