跳至主要內容

RSA 密钥生成

大约 3 分钟

RSA 密钥生成指南

Smilepayz API 请求需使用商户 RSA 私钥签名;您将对应的公钥上传至商户后台,供平台校验 X-SIGNATURE。本指南说明如何在沙盒与生产环境生成并保存密钥。

概述

密钥持有方用途
商户私钥商户(切勿上传)签名代收、代付、查询等 API 请求
商户公钥上传至 Smilepayz平台校验您的 X-SIGNATURE
平台公钥从 Configuration Info 复制校验回调签名

沙盒与生产分开

请为沙盒和生产分别生成 RSA 密钥对,勿在生产环境复用沙盒私钥。

密钥要求

商户后台要求 2048 位 RSA 密钥(签名算法 SHA256withRSA)。公钥文本框中保存的是不含 PEM 头尾的 Base64 字符串。

  • 私钥 — 保存在下载文件中,仅部署在您的服务器
  • 公钥 — 填入 Merchant Public Key 文本框后点击 Save

签名用法详见签名授权

沙盒:生成并保存

步骤 1:进入 API Setting

  1. 登录商户后台open in new window
  2. 顶部开关切换为 Sandbox
  3. 左侧打开 Configuration
  4. 选择 API Setting 标签。
  5. 滚动至 Merchant Public Key 区域。

步骤 2:生成密钥对

  1. 点击 Generate RSA Keys
  2. 浏览器会下载密钥对文件(文件名通常包含 Sandbox 与时间戳)。
  3. 公钥 会自动填入下方文本框。

步骤 3:保存公钥

  1. 确认文本框中的公钥内容。
  2. 点击该区域底部的 Save
  3. 将下载文件妥善保管 — 其中包含私钥

沙盒 — Merchant Public Key

生产:生成并保存

生产环境入口为 Settings → Configuration,而非沙盒左侧的 Configuration 菜单。

步骤 1:进入 API Setting

  1. 登录商户后台open in new window
  2. 确认顶部为 Production
  3. 进入 SettingsConfiguration
  4. 打开 API Setting 标签。
  5. 滚动至 Merchant Public Key

步骤 2:生成并保存

  1. 点击 Generate(生产环境按钮文案,功能与沙盒相同)。
  2. 安全保存下载的私钥文件。
  3. 核对文本框中的公钥。
  4. 点击页面底部的 Save API configuration

生产 API Setting 差异

生产环境 API Setting 中,IP 白名单为只读展示(由平台维护)。回调字段为 PayinPayout。保存按钮文案为 Save API configuration

生产 — Merchant Public Key

下载文件格式

下载文件通常包含两把密钥的 PEM 块:

-----BEGIN PRIVATE KEY-----
[Base64 私钥内容]
-----END PRIVATE KEY-----

-----BEGIN PUBLIC KEY-----
[Base64 公钥内容]
-----END PUBLIC KEY-----

集成代码或 SDK 使用私钥(PKCS#8、Base64)。后台文本框中的公钥与 PEM 中公钥内容一致,但不含 -----BEGIN/END----- 行。

配置完成后

  1. 若尚未完成,请继续配置集成信息(IP 白名单、回调地址等)。
  2. 在沙盒 Signature Test 标签或通过沙盒 API 调用测试签名。
  3. 上线前在生产环境用新密钥对重复上述流程。

故障排查

问题处理建议
API 签名被拒绝确认生成后已点击 Save;私钥与已上传公钥是否配对
环境搞错沙盒与生产密钥独立 — 核对开关与 Merchant ID 前缀
私钥丢失重新生成密钥对,上传新公钥并更新服务器配置
生成后公钥框为空重试 Generate;检查浏览器下载权限

相关文档