接口说明

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加密后的私钥内容
2用户编号signUserIdString64私钥用户的唯一业务编号,仅支持数字字母下划线
3应用编号appIdString64用于标志用户的应用编号,仅支持数字字母下划线
4加密类型encryptTypeInteger默认为0,0: ECDSA, 1: 国密

2)数据格式

  1. http://localhost:5004/WeBASE-Sign/user/newUser
  1. {
  2. "privateKey": "MIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQgC8TbvFSMA9y3CghFt51/XmExewlioX99veYHOV7dTvOhRANCAASZtMhCTcaedNP"
  3. "signUserId": "user_222",
  4. "appId": "app_222",
  5. "encryptType": 0
  6. }

响应参数

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. 返回码信息列表

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