4.2.1 安全插件概述
安全插件用于提供 Eckey 密钥的生成,存储以及信息签名的功能。安全插件通过开放 http 接口用于其他应用调用,请将请求地址中的HSM_HOST:PORT
替换为实际部署的安全插件服务地址。
4.2.2 安全插件接口列表
4.2.2.1 生成密钥的接口
接口说明:通过该接口可以在安全插件内生成一对 Eckey 密钥,并返回公钥地址。如果已经存在,则不重复创建,直接返回对应 userId
的公钥地址。
请求方式:GET
请求地址:http://HSM_HOST:PORT/crypt/generateKeyFromHsm.json?userId=[userId]
是否回调:否
参数列表:
名称 | 类型 | 描述 |
---|---|---|
userId | String | 密钥的唯一标识 |
type | String | 密钥类型,ECC或SM2 |
接口返回:
名称 | 类型 | 描述 |
---|---|---|
Detail | String | 密钥公钥地址 |
返回示例:
{
"code": "SUCCESS",
"detail": "AF4F219A80D206DC6CE04A64603887396BD0C6D1"
}
4.2.2.2 签名接口
接口说明:调用指定userId
的私钥对传入的信息进行签名,并返回签名数据。
请求方式:GET
请求地址:http://HSM_HOST:PORT/crypt/sign.json?userId=[userId]&messageHash=[messageHash]
是否回调:否
参数列表:
名称 | 类型 | 描述 |
---|---|---|
userId | String | 密钥的唯一标识 |
messageHash | String | 待签名的哈希值 |
接口返回:
名称 | 类型 | 描述 |
---|---|---|
Detail | String | 签名数据 |
返回示例:
{
"code": "SUCCESS",
"detail": "HE9+aqBo3yz8PbZQTqTHnPMuq78XgLkqhOXnDBcKFJTaA3Gx3PwBChBn/JVY6IBJB2zS+YTvRdtAaPYGbIFMwtg="
}
4.2.2.3 获取公钥接口
接口说明:获取指定userId的公钥。
请求方式:GET
请求地址:http://HSM_HOST:PORT/crypt/findPublicKeyByIndex.json?userId=[userId]
是否回调:否
参数列表:
名称 | 类型 | 描述 |
---|---|---|
userId | String | 密钥的唯一标识 |
接口返回:
名称 | 类型 | 描述 |
---|---|---|
Detail | String | 密钥公钥 |
返回示例:
{
"code": "SUCCESS",
"detail": "04BCFE8747F26B0CBD0E0A1D63A7800FE8910555E2B871BF629E0225F1DC792DF807CE95053830560BD63901D3A2D01806AC3F5D83FBB1D188F726BB3BB9184762"
}
4.2.2.4 获取密钥信息接口
接口说明:获取指定userId的密钥信息。
请求方式:GET
请求地址:http://HSM_HOST:PORT/crypt/findKeyInfoByIndex.json?userId=[userId]
是否回调:否
参数列表:
名称 | 类型 | 描述 |
---|---|---|
userId | String | 密钥的唯一标识 |
接口返回:
名称 | 类型 | 描述 |
---|---|---|
publicKey | String | 密钥公钥 |
publicKeyAddress | String | 公钥地址 |
type | String | 密钥类型 |
返回示例:
{
"code": "SUCCESS",
"detail": {
"publicKey": "CB7E64BA7B7C46CA6C28993064F68251482873A05C6BDF92E618DCD9D4662F090787382847E7AB75DF7BD0414E86755A9EC631DB41354082A949B4F2EA582D51",
"publicKeyAddress": "5B7C968429E44235AAE5BFA36B1C6984F54D7982",
"type": "SM2"
}
}