获取国家商用密码证书和密钥

更新时间:2023.04.28

# 1. 获取国密API证书和公私钥

# 1.1. 下载证书工具

  1. 登录微信支付商户平台 (opens new window) ,进入API证书管理页(需商户号超级管理员操作):

    页面路径:微信支付商户平台 - 账户中心 - API安全 - 申请API证书 - 管理证书 - 申请新证书

    操作图示:

    图示
    图示
    图示
  2. 下载证书工具(根据电脑系统选择对应版本并安装)

    图示

# 1.2. 生成公私钥文件

  1. 在商户平台的生成API证书页面,复制商户信息

    图示
  2. 打开证书工具 - 选择证书类型

    图示
  3. 粘贴商户信息 - 生成请求串

    图示
  4. 保存私钥文件到本地。保存时,不建议修改文件名称(默认为“序列号_证书算法版本”),以免后续找不到私钥文件。

    图示

# 1.3. 上传CSR并生成API证书

  1. 在证书工具,复制请求串,并返回商户平台

    图示
  2. 在商户平台的验证身份页,粘贴证书请求串并确认

    图示
    图示
  3. 输入「 操作密码+短信验证 」即可生成API证书

    图示

# 1.4. 下载API证书

返回商户平台,进入API证书管理页,下载API证书。保存时,不建议修改文件名称(默认为“序列号_证书算法版本”),以免后续找不到API证书文件。

图示

# 2. 获取国密平台证书

调用获取平台证书接口 获取,该接口新增一个请求参数algorithm_type

SM2:获取国密算法的平台证书,请求URL示例:https://api.mch.weixin.qq.com/v3/certificates?algorithm_type=SM2

RSA:获取RSA算法的平台证书

ALL:获取所有类型的平台证书

不填:默认获取RSA算法的平台证书

# 3. 获取APIv3密钥

APIv3密钥需登录商户平台设置,详情参考:APIv3秘钥设置指引 (opens new window)

回调和证书解密使用的SM4密钥说明:把当前的APIv3密钥通过国密SM3 hash计算生成摘要(256bit),取摘要前面的128bit作为新的SM4密钥(微信支付官方Java SDK (opens new window) 已处理该逻辑,使用SDK的商户只需配置APIv3密钥即可)