1. iPaaS API列表
iPaaS API
  • iPaaS API列表
    • 接入指南
    • 快速调试指南
    • 签名工具
    • 储值通
      • 储值卡充值
      • 查询储值卡充值结果
      • 查询储值卡退款结果
      • 储值卡支付
      • 查询储值卡支付结果
      • 查询可用储值卡列表
      • 储值卡退款
      • 储值调账
      • 查询储值卡
    • 导购通
      • 更新导购档案
      • 查询导购档案
      • 变更导购专属关系
    • 试用单通
      • 更新试用单发货状态
    • 积分通
      • 增加积分
      • 冻结积分
      • 回补积分
      • 消耗积分
      • 解冻积分
      • 查询积分
      • 减少积分
      • 查询积分日志
    • 会员通
      • 修改会员归属门店 Copy
      • 更新会员
      • 解密会员信息
      • 创建加密会员
      • 换绑会员手机号
      • 换绑加密会员
      • 查询会员
      • 创建会员
      • 修改会员归属门店
      • 注销会员
      • 修改会员禁用名单
      • 更新加密会员
      • 解密加密会员
      • 减少成长值
      • 查询成长值
      • 增加成长值
      • 更新等级
    • 标签通
      • 删除标签组
      • 更新标签组
      • 更新会员标签
      • 查询会员标签
      • 创建标签组
    • 订单通
      • 更新订单同城配送状态
      • 更新订单自提状态
      • 同步聚合外部订单
      • 查询订单详情
      • 同意退款单
      • 外部订单换货
      • 外部订单非等价换货
      • 创建外部订单
      • 更新订单发货状态
      • 查询订单同城配送状态
      • 外部订单退货
      • 拒绝退款单
      • 创建主动退款
    • 店铺通
      • 关闭门店
      • 修改门店
      • 修改自提点
      • 创建自提点
      • 更换门店
      • 关闭自提点
      • 创建门店
    • 权益卡通
      • 同步会员权益卡
      • 调整会员权益卡有效期
      • 删除会员权益卡
    • 商品通
      • 更新商品上下架状态
      • 更新商品分组
      • 查询商品分组
      • 同步商品信息
      • 删除商品分组
      • 创建商品分组
      • 同步商品信息(独立)
      • 更新商品价格
    • 电子卡券通
      • 核销电子卡券
    • 库存通
      • 已过时
        • 同步商品库存(已过时)
      • 同步商品库存
    • 优惠券通
      • 单通以有赞为准
        • 查询优惠券详情
        • 查询优惠券列表
        • 查询可用优惠券列表
        • 查询优惠券折扣
        • 发放优惠券
        • 核销优惠券
        • 退还优惠券
        • 转赠优惠券
        • 回收优惠券
      • 双通以三方为准
        • 发放优惠券
        • 核销优惠券
        • 退还优惠券
        • 转赠优惠券
        • 回收优惠券
        • 禁用优惠券
      • 已过时
        • 转赠优惠券(已过时)
        • 核销后退还优惠券(已过时)
        • 核销有赞优惠券(已过时)
        • 预核销优惠券(已过时)
        • 解冻优惠券(已过时)
        • 发放优惠券(已过时)
        • 冻结优惠券(已过时)
      • 创建优惠券模板
      • 更新优惠券模板
      • 失效优惠券模板
      • 删除优惠券模板
    • 设置环境变量
      POST
  1. iPaaS API列表

签名工具

有赞云签名工具接入指南#

概述#

YzCloudSignature 是有赞云 RSA 签名/验签工具类,支持 SHA1WithRSA 算法。本文档介绍如何将其独立接入到您的项目中,无需依赖有赞云 SDK。

环境要求#

JDK: 1.7+
加密算法: RSA/SHA1WithRSA

依赖配置#

在项目的 pom.xml 中添加以下依赖:
<!-- Apache Commons Lang - 字符串工具 -->
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

<!-- Apache Commons Codec - Base64 编解码 -->
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.15</version>
</dependency>

<!-- Apache Commons IO - IO 工具 -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.11.0</version>
</dependency>

<!-- BouncyCastle - 加密库 -->
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.70</version>
</dependency>

代码获取#

将 YzCloudSignature.java 文件复制到您的项目中:
点击查看代码(YzCloudSignature.java)
建议放置路径com.yourpackage.utils.YzCloudSignature
注意:复制后请根据需要修改 package 声明。

密钥格式#

私钥格式(PKCS8)#

MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC...
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

公钥格式(X509)#

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----

使用示例#

1. 签名#

2. 验签#

API 说明#

签名方法#

方法说明
String rsaSign(Map<String, String> params, String privateKey)RSA 签名,返回 Base64 编码的签名
String rsaSignContent(String content, String privateKey, String charset)对指定内容进行 RSA 签名
String getSignContent(Map<String, String> params)获取签名内容(过滤空值,参数按字典序排序)

验签方法#

方法说明
boolean rsaCheck(Map<String, String> params, String publicKey)RSA 验签,自动从 params 中获取 sign 字段
boolean rsaCheckContent(String content, String sign, String publicKey, String charset)对指定内容进行 RSA 验签
String getSignCheckContent(Map<String, String> params)获取验签内容(去除 sign 字段后,参数按字典序排序)

密钥解析方法#

方法说明
PrivateKey getPrivateKeyFromPKCS8(String algorithm, InputStream ins)从 PKCS8 格式字符串解析私钥
PublicKey getPublicKeyFromX509(String algorithm, InputStream ins)从 X509 格式字符串解析公钥

签名规则#

1.
参数过滤:过滤掉 key 或 value 为空的参数
2.
参数排序:按 key 的字典序升序排列
3.
拼接格式:key1=value1&key2=value2&key3=value3
4.
签名算法:SHA1WithRSA
5.
签名编码:Base64

常见问题#

Q1: 提示 "RSA私钥格式不正确"#

原因:私钥格式不是 PKCS8 标准。
解决:请使用 PKCS8 格式的私钥。如果是 PKCS1 格式(-----BEGIN RSA PRIVATE KEY-----),需要转换为 PKCS8 格式。

Q2: 验签总是失败#

排查步骤:
1.
确认公钥/私钥配对正确
2.
确认参数拼接顺序一致(字典序)
3.
确认字符编码一致(UTF-8)
4.
确认签名值没有经过 URL 编码/解码

Q3: JDK 1.7 兼容性#

本工具已针对 JDK 1.7 进行兼容处理,使用 Apache Commons 库替代 JDK 8+ 的 API。

版本历史#

版本日期说明
1.0.02026-02独立版本发布,移除 SDK 依赖
修改于 2026-02-09 08:34:26
上一页
快速调试指南
下一页
储值卡充值
Built with