密码设备API接口文档
密码基础标准操作
一、公共参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
urlMap | Map | 是 | 中台服务地址集合,用于连接中台服务 |
location | String | 否 | 优先地域标识,用于根据地域标识优先选择中台服务 |
reserveLocation | Map | 否 | 备用地域标识集合,用于当其余地域的中台服务都不可用时,选择备用地域的中泰服务 |
appKey | String | 是 | 用户在业务系统中的标识,由业务系统提供 |
secretKey | String | 是 | appKey对应的口令,用于校验用户的身份 |
使用内部SM2私钥对数据进行签名运算
签名。
一、请求说明
服务接口名称(即公共参数 method 的值): sign.sm2
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 密码中台密钥对虚拟索引 |
signData | byte[] | 是 | 待签名数据-提前将数据进行SM3摘要(必须为32字节长度的SM3摘要值) |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值[data]说明
字段名称 | 描述 |
---|---|
signedData | 签名结果-byte数组 |
signedDataHexStr | 签名结果-对签名结果数据经过Hex.encodeHexString后的字符串 |
ipAddress | 密钥对所属的物理密码机ip地址 |
index | 密钥对所属的物理密码机索引 |
cipIndex | 密码中台密钥对虚拟索引 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
使用内部SM2公钥对签名值进行验签
将签名返回的数据进行验签(验证)。
一、请求说明
服务接口名称(即公共参数 method 的值): verify.sm2
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 密码中台密钥对虚拟索引 |
signData | byte[] | 是 | 待签名数据-提前将数据进行SM3摘要(必须为32字节长度的SM3摘要值) |
signedData | byte[] | 是 | 签名结果数据-签名返回得byte数组 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
verifyResult | 验签结果(true / false) |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
sm2加密
api直接加密
一、请求说明
服务接口名称(即公共参数 method 的值): encrypt.sm2
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 密码中台密钥对虚拟索引 |
encryptData | byte[] | 是 | 待加密数据-byte[]-待加密机数据不能超过136个字节 |
keyUsageType | KeyUsageType | 否 | 进行加密时使用的密钥对类型-ENCRYPTION:加密密钥对;SIGNATURE:解密密钥对 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
encryptedData | 加密结果-byte数组 |
encryptedDataHexStr | 加密结果字符串-对加密结果数据经过Hex.encodeHexString后的字符串 |
ipAddress | 密钥对所属的物理密码机ip地址 |
index | 密钥对所属的物理密码机索引 |
cipIndex | 密码中台密钥对虚拟索引 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
sm2解密
对加密返回的数据进行解密
一、请求说明
服务接口名称(即公共参数 method 的值): d.encrypt.sm2
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 密码中台密钥对虚拟索引 |
decryptData | byte[] | 是 | 待解密数据-加密返回的byte数组 |
keyUsageType | KeyUsageType | 否 | 进行加密时使用的密钥对类型-ENCRYPTION:加密密钥对;SIGNATURE:解密密钥对 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
decryptedData | 解密结果-byte数组 |
decryptedDataHexStr | 解密结果字符串-对解密结果数据经过Hex.encodeHexString后的字符串 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
HMAC加密
api直接加密
一、请求说明
服务接口名称(即公共参数 method 的值): gen.hmac
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 密码中台密钥对虚拟索引 |
macData | byte[] | 是 | 待加密数据-byte[] |
hmacAlgorithm | HmacAlgorithmEnum | 是 | 进行加密时使用的加密算法 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
decryptedData | 解密结果-byte数组 |
genMacDataHexStr | 解密结果字符串-对解密结果数据经过Hex.encodeHexString后的字符串 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
申请随机数
申请随机数
一、请求说明
服务接口名称(即公共参数 method 的值): random
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
nLength | Integer | 否 | 随机数长度 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
data | 随机数-byte数组 |
dataHexStr | 随机数-byte数组的字符串 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
生成p10
生成p10
一、请求说明
服务接口名称(即公共参数 method 的值): p10.gen
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
subject | String | 是 | 证书主题信息 |
algorithm | String | 否 | 密钥算法-算法类型:SM2 |
cipIndex | Integer | 是 | 密码中台密钥对虚拟索引 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
p10 | base64的p10 |
ipAddress | 密钥对所属的物理密码机ip地址 |
index | 密钥对所属的物理密码机索引 |
cipIndex | 密码中台密钥对虚拟索引 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
对称密钥加密
对称密钥加密
一、请求说明
服务接口名称(即公共参数 method 的值): symmetric.encrypt
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
data | String | 是 | 待加密数据 |
cipIndex | Integer | 是 | 基于密码中台的虚拟索引 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
encryptedData | 加密后的数据-byte[] |
dataHexStr | 加密后的数据-对加密后的数据byte[]经过Hex.encodeHexString字符串 |
ipAddress | 密钥对所属的物理密码机ip地址 |
index | 密钥对所属的物理密码机索引 |
cipIndex | 密码中台密钥对虚拟索引 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
对称密钥解密
对称密钥解密
一、请求说明
服务接口名称(即公共参数 method 的值): symmetric.decrypt
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
data | String | 是 | 待加密数据 |
cipIndex | Integer | 是 | 基于密码中台的虚拟索引 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
decryptedData | 解密后的数据-byte[] |
decryptedDataHexStr | 解密后的数据字符换-对解密后的数据经过Hex.encodeHexString后的字符串 |
ipAddress | 密钥对所属的物理密码机ip地址 |
index | 密钥对所属的物理密码机索引 |
cipIndex | 密码中台密钥对虚拟索引 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
申请指定索引的密钥对
申请指定索引的密钥对
一、请求说明
服务接口名称(即公共参数 method 的值): key.pair.apply
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 否 | 基于密码中台的虚拟索引 |
repeat | Boolean | 是 | 申请密钥是否为对称密钥:对称密钥-true;非对称密钥-false |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
applyResult | true / false |
cipIndex | 密码中台的虚拟索引 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
注销指定索引的密钥对
注销指定索引的密钥对
一、请求说明
服务接口名称(即公共参数 method 的值): key.pair.recover
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 基于密码中台的虚拟索引 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
recoverResult | true / false |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
导出指定的SM2公钥
导出指定的SM2公钥
一、请求说明
服务接口名称(即公共参数 method 的值): sm2.pub.export
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 基于密码中台的虚拟索引 |
keyUsageType | KeyUsageType-枚举 | 是 | 密钥用法类型-ENCRYPTION:加密密钥;SIGNATURE:签名密钥 |
代码实例
public class CipSopApiTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
pubX | 公钥X坐标值-byte数组 |
pubY | 公钥Y坐标值-byte数组 |
pubXHexStr | 公钥X坐标值-HexStr字符串 |
pubYHexStr | 公钥Y坐标值-HexStr字符串 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
导入指定的SM2密钥对
SM2密钥对导入
一、请求说明
服务接口名称(即公共参数 method 的值): key.pair.import
请求方式:POST
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求参数(请求方式为 post)
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
cipIndex | Integer | 是 | 基于密码中台的虚拟索引 |
keyUsageType | KeyUsageType-枚举 | 是 | 密钥用法类型-ENCRYPTION:加密;SIGNATURE:签名 |
privateKey | byte[] | 是 | 私钥值 |
pubX | byte[] | 是 | 公钥X坐标值 |
pubY | byte[] | 是 | 公钥Y坐标值 |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
importResult | true/false |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
获取中台服务器信息
获取中台服务器信息
一、请求说明
服务接口名称(即公共参数 method 的值): server.info
请求方式:GET
请求参数以表单形式提交,Content-Type 值为: application/x-www-form-urlencoded;charset=utf-8
二、请求方式为 get(无参API接口)
代码实例
public class CipBizServiceTest { |
三、响应参数
- 返回结构说明
字段名称 | 描述 |
---|---|
errorCode | 此次请求的结果 0-此次请求成功 其他-此次请求异常 |
msg | 此次请求结果的描述,success-成功 其他-异常参见异常码 |
data | 此次请求响应的负载,接口的响应信息主体 |
- 返回值data说明
字段名称 | 描述 |
---|---|
serverInfo | 中台服务器信息的JSON字符串 |
httpMap | 中台服务器HTTP信息的Map集合 |
tcpMap | 中台服务器TCP信息的Map集合 |
agentAddressMap | 中台服务器代理信息的Map集合 |
四、成功示例
JSON示例
{ |
五、失败示例
JSON示例
{ |
备注
- 要求:在测试以上接口时 appKey 和 secretKey 必须是正常可用且调用环境要与appKey 和 secretKey 一致。