接口说明

1. 新增用户接口

1.1. 新增ECDSA/国密用户接口

接口描述

根据传入的encryptType值,新增ECDSA或国密公私钥用户。

接口URL

http://localhost:5004/WeBASE-Sign/user/newUser?signUserId={signUserId}&appId={appId}&encryptType={encryptType}

调用方法

HTTP GET

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
1用户编号signUserIdString64私钥用户的唯一业务编号,仅支持数字字母下划线
2应用编号appIdString64用于标志用户的应用编号,仅支持数字字母下划线
3加密类型encryptTypeInteger默认为0,0: ECDSA, 1: 国密

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/user/newUser?signUserId={signUserId}&appId={appId}&encryptType=0

响应参数

1)参数表

序号中文参数名类型最大长度必填说明
1返回码codeString返回码信息请附录1
2提示信息messageString
3返回数据dataObject
3.1用户编号signUserIdString
3.2应用编号appIdString
3.3私钥信息privateKeyString
3.4账户地址addressString
3.5公钥publicKeytoHexString
3.6描述descriptionString
3.7加密类型encryptTypeInteger0: ECDSA, 1: guomi

2)数据格式

a.请求正常返回结果

ECDSA用户:

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "signUserId": "user_111",
  6. "appId": "group_01",
  7. "address": "0x2df87ff79e8c85a318c00c82ee76e2581fbab0a8",
  8. "publicKey": "0x1befc9824623dfc2f1541d2fc1df4bc445d9dd26816b0884e24628881d5bb572bf7dfd69520d540adc2d16d295df954d9c34bef4381dbc207942fcbf43c7d622",
  9. "privateKey": "",
  10. "description": null,
  11. "encryptType": 0
  12. }
  13. }

国密用户:

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "signUserId": "user_222",
  6. "appId": "group_02",
  7. "address": "0x0bc3465986845864fc1646dedf2dd892c0fe11be",
  8. "publicKey": "0xd09d4efe3c127898186c197ae6004a9b40d7c7805fc7e31f7c4a835a4b9cf4148155cbd6dfcf3e5fd84acf1ea55c26b5a9b05d118b456738be2becf0e667c0d6",
  9. "privateKey": "",
  10. "description": null,
  11. "encryptType": 1
  12. }
  13. }

b.异常返回结果示例(信息详情请参看附录1)

  1. {
  2. "code": 303001,
  3. "message": "user of this sign user id is already exists",
  4. "data": null
  5. }

1.2. 导入私钥用户接口

接口描述

导入私钥到Sign,与新增私钥类似

接口URL

http://localhost:5004/WeBASE-Sign/sign

调用方法

HTTP POST

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
1私钥privateKeyString通过Base64加密后的私钥内容(编码前私钥为BigInteger的HexString十六进制字符串)
2用户编号signUserIdString64私钥用户的唯一业务编号,仅支持数字字母下划线
3应用编号appIdString64用于标志用户的应用编号,仅支持数字字母下划线
4加密类型encryptTypeInteger默认为0,0: ECDSA, 1: 国密

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/user/newUser
  1. {
  2. //privateKey编码前原文为: 3d1a470b2e7ae9d536c69af1cc5edf7830ece5b6a97df0e9441bab9f7a77b131
  3. "privateKey": "M2QxYTQ3MGIyZTdhZTlkNTM2YzY5YWYxY2M1ZWRmNzgzMGVjZTViNmE5N2RmMGU5NDQxYmFiOWY3YTc3YjEzMQ==",
  4. "signUserId": "user_222",
  5. "appId": "app_222",
  6. "encryptType": 0
  7. }

响应参数

1)参数表

序号中文参数名类型最大长度必填说明
1返回码codeString返回码信息请附录1
2提示信息messageString
3返回数据dataObject
3.1用户编号signUserIdString
3.2应用编号appIdString
3.3私钥信息privateKeyString
3.4账户地址addressString
3.5公钥publicKeytoHexString
3.6描述descriptionString
3.7加密类型encryptTypeInteger0: ECDSA, 1: guomi

2)数据格式

a.请求正常返回结果

ECDSA用户:

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "signUserId": "user_111",
  6. "appId": "group_01",
  7. "address": "0x2df87ff79e8c85a318c00c82ee76e2581fbab0a8",
  8. "publicKey": "0x1befc9824623dfc2f1541d2fc1df4bc445d9dd26816b0884e24628881d5bb572bf7dfd69520d540adc2d16d295df954d9c34bef4381dbc207942fcbf43c7d622",
  9. "privateKey": "", //不返回私钥
  10. "description": null,
  11. "encryptType": 0
  12. }
  13. }

b.异常返回结果示例(信息详情请参看附录1)

  1. {
  2. "code": 303001,
  3. "message": "user of this sign user id is already exists",
  4. "data": null
  5. }

2. 查询用户接口

2.1 根据userId查询用户

接口描述

根据用户编号查询用户信息。

接口URL

http://localhost:5004/WeBASE-Sign/user/{signUserId}/userInfo

调用方法

HTTP GET

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
1用户编号signUserIdString64私钥用户的唯一业务编号,仅支持数字字母下划线

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/user/{signUserId}/userInfo

响应参数

1)参数表

序号中文参数名类型最大长度必填说明
1返回码codeString返回码信息请附录1
2提示信息messageString
3返回数据dataObject
3.1用户编号signUserIdString
3.2应用编号appIdString
3.3私钥信息privateKeyString
3.4账户地址addressString
3.5公钥publicKeytoHexString
3.6描述descriptionString
3.7加密类型encryptTypeInteger0: ECDSA, 1: guomi

2)数据格式

a.请求正常返回结果

ECDSA用户:

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "signUserId": "user_111",
  6. "appId": "group_01",
  7. "address": "0x2df87ff79e8c85a318c00c82ee76e2581fbab0a8",
  8. "publicKey": "0x1befc9824623dfc2f1541d2fc1df4bc445d9dd26816b0884e24628881d5bb572bf7dfd69520d540adc2d16d295df954d9c34bef4381dbc207942fcbf43c7d622",
  9. "privateKey": "",
  10. "description": null,
  11. "encryptType": 0
  12. }
  13. }

b.异常返回结果示例(信息详情请参看附录1)

  1. {
  2. "code": 303002,
  3. "message": "user does not exist",
  4. "data": null
  5. }

3. 私钥用户管理接口

3.1. 停用私钥用户

接口描述

通过修改私钥用户的status状态值来停用私钥用户;停用后,其他接口将不返回被停用的私钥用户

接口URL

http://localhost:5004/WeBASE-Sign/user

调用方法

HTTP DELETE

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
1用户编号signUserIdString64私钥用户的唯一业务编号,仅支持数字字母下划线

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/user
  1. {
  2. "signUserId": "user_111"
  3. }

响应参数

1)参数表

序号中文参数名类型最大长度必填说明
1返回码codeString返回码信息请附录1
2提示信息messageString

2)数据格式

a.请求正常返回结果

  1. {
  2. "code": 0,
  3. "message": "success"
  4. }

b.异常返回结果示例(信息详情请参看附录1)

  1. {
  2. "code": 303002,
  3. "message": "user does not exist",
  4. "data": null
  5. }

3.2. 清除私钥用户缓存

接口描述

私钥用户的缓存用于缓存私钥数据到内存中,提高私钥签名效率;此接口可删除所有用户缓存信息

接口URL

http://localhost:5004/WeBASE-Sign/user/all

调用方法

HTTP DELETE

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
-------

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/user/all

响应参数

1)参数表

序号中文参数名类型最大长度必填说明
1返回码codeString返回码信息请附录1
2提示信息messageString

2)数据格式

a.请求正常返回结果

  1. {
  2. "code": 0,
  3. "message": "success"
  4. }

4. 用户列表接口

4.1. 根据appId查询用户列表(分页)

接口描述

根据传入的appId值,查询所有所有属于该appId的用户信息列表。

接口URL

http://localhost:5004/WeBASE-Sign/user/list/{appId}/{pageNumber}/{pageSize}

调用方法

HTTP GET

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
1应用编号appIdString用于标志用户的应用编号
2页码pageNumberInteger页码,同时为空则返回全部
3页大小pageSizeInteger页大小,同时为空则返回全部

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/user/list/group_01/1/5

响应参数

1)参数表

序号中文参数名类型最大长度必填说明
1返回码codeString返回码信息请附录1
2提示信息messageString
3返回数据dataList
3.1用户编号signUserIdString
3.2应用编号appIdString
3.3私钥信息privateKeyString
3.4账户地址addressString
3.5公钥publicKeytoHexString
3.6描述descriptionString
3.7加密类型encryptTypeInteger0: ECDSA, 1: guomi
4总量totalCountLong数据总量

2)数据格式

a.请求正常返回结果

ECDSA用户列表:

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": [
  5. {
  6. "signUserId": "user_111",
  7. "appId": "group_01",
  8. "address": "0x2df87ff79e8c85a318c00c82ee76e2581fbab0a8",
  9. "publicKey": "0x1befc9824623dfc2f1541d2fc1df4bc445d9dd26816b0884e24628881d5bb572bf7dfd69520d540adc2d16d295df954d9c34bef4381dbc207942fcbf43c7d622",
  10. "privateKey": "",
  11. "description": null,
  12. "encryptType": 0
  13. }
  14. ],
  15. "totalCount": 1
  16. }

b.异常返回结果示例(信息详情请参看附录1)

  1. {
  2. "code": 103001,
  3. "message": "system error",
  4. "data": null
  5. }

5. 数据签名接口

5.1. ECDSA/国密数据签名接口

接口描述

指定用户通过ECDSA/国密SM2对数据进行签名。

接口URL

http://localhost:5004/WeBASE-Sign/sign

调用方法

HTTP POST

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
1用户编号signUserIdString64私钥用户的唯一业务编号,仅支持数字字母下划线
2请求数据encodedDataStrString十六进制String类型,使用web3sdk的Numeric.toHexString(byte[] input)方法将编码数据转换成HexString

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/sign
  1. {
  2. "signUserId": "user_111",
  3. "encodedDataStr": "0xba001"
  4. }

响应参数

1)参数表

序号中文参数名类型最大长度必填说明
1返回码codeString返回码信息请附录1
2提示信息messageString
3返回数据dataObject
3.1签名数据signDataStrString

2)数据格式

a.请求正常返回结果

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "signDataStr": "1c3f59a48593b66de4c57fe99f9c429811aa2dc9b495823cd99faa3e72b4a4d02e04bb7c3da6390a17adc00b0e740293c6306229a26a0c0cf2974581880d19e57b"
  6. }
  7. }

b.异常返回结果示例(信息详情请参看附录1)

  1. {
  2. "code": 203009,
  3. "message": "encoded data string must be hex string",
  4. "data": null
  5. }

6. 其他接口

6.1. 查询WeBASE-Sign版本接口

接口描述

获取WeBASE-Sign的版本号

接口URL

http://localhost:5004/WeBASE-Sign/version

调用方法

HTTP GET

请求参数

1)参数表

序号中文参数名类型最大长度必填说明
---

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/version

响应参数

1)数据格式

a、成功:

  1. v1.4.0

附录

1. 返回码信息列表

Codemessage描述
success正常
103001 system error 系统异常
103002 param valid fail 参数校验失败
203003param exception参数校验异常
203004sign user id cannot be blanksignUserId不可为空
203005invalid sign user id, only support letter and digitsignUserId不正确,仅支持数字字母下划线
203006app id cannot be blankappId不可为空
203007app id invalid, only support letter and digitappId不正确,仅支持数字字母下划线
203008encrypt type should be 0 (ecdsa) or 1 (guomi)encryptType仅支持0或1
203009encoded data string must be hex stringencodedDataStr仅支持十六进制String
303001user is already exists用户已存在
303002user does not exist用户不存在
303003privateKey is null用户私钥为空
303004privateKey decode fail私钥解码失败
303005privateKey format error私钥格式错误