升级说明

WeBASE-Sign升级的兼容性说明,请结合WeBASE-Sign Changelog进行阅读

v1.4.3

  • 增加数据签名接口

v1.4.2

  • 使用新版java-sdk替换web3sdk

v1.4.0

增加版本号接口

  • 增加返回 WeBASE-Sign 版本号接口

修改AES加密默认Pattern

  • 默认Aes加密模式由ECB改为更安全的CBC,同时支持在yml配置中选择CBC与ECB

v1.3.2

移除fastjson

  • 移除Fastjson,替换为Jackson 2.11.0。
  • 升级web3sdk为2.4.1,并升级springboot等依赖项

v1.3.1

支持导入私钥

  • 新增/user/import接口,支持导入私钥,详情参考接口文档

性能优化

  • 新增Credential实例的缓存机制,优化签名性能

v1.3.0

私钥数据表字段更新

  • WeBASE-Sign的tb_user表新增两个字段: 私钥用户的唯一业务编号signUserId,和私钥用户所属应用编号appId

升级操作说明

如果WeBASE-Sign中有已存在的私钥数据,则在tb_user表新增列sign_user_idapp_id后,还需要赋予其初始值,且sign_user_id需赋予唯一值

登陆mysql后,进入到相应database中,以webasesign的database为例;

mysql -uroot -p123456

// mysql 命令行
mysql> use webasesign;

// 在tb_user中添加列
mysql> alter table tb_user add column sign_user_id varchar(64) not null;
mysql> alter table tb_user add column app_id varchar(64) not null;

// 添加sign_user_id的唯一约束
mysql> alter table tb_user add unique key unique_uuid (sign_user_id);

如果仅将WeBASE-Node-Manager的私钥迁移至WeBASE-Sign中,则无需进行下面的sign_user_id赋值操作

如果有已存在的user的sign_user_id和app_id赋值,sign_user_id赋予唯一的随机值即可;

// app_id可以设置为一样,也可根据user具体标签赋予不同的app_id值
mysql> update tb_user set app_id = 'app_default' where 1=1;
// 为每个user的sign_user_id设置一个唯一的随机值
mysql> update tb_user set sign_user_id = '{yourValue}'' where user_id = '{yourUserId}';

API更新

  • WeBASE-Sign的新建私钥接口/user/newUser需传入signUserId, appId才可新建用户,且可以传值encryptType指定该用户的类型为ECDSA或国密算法;

值得注意的是,现在WeBASE-Sign新建私钥用户后,不再返回privateKey字段,即私钥不离开WeBASE-Sign数据库。

  • WeBASE-Sign的数据签名接口/sign传参修改,原用的userId改为传入signUserId,签名时会根据user的类型选择ECDSA或国密算法进行签名;
  • WeBASE-Sign新增停用用户的接口/user(DELETE),可根据signUserId停用相应用户;