# 客户端Api
密钥管理服务托管了客户的云证书,用户可以通过客户端Api操作证书进行解密、签名等私钥操作。Api通过挑战码校验身份及访问目的,在调用时应通过生成挑战码接口获取挑战码。
# 生成挑战码
该Api用于生成挑战码,供后续证书操作时使用。
# 一、请求介绍
请求地址:http://IP:PORT/clientapi/kms/v1/challengecode/generate
请求方法:POST
请求参数:
名称 类型 是否必须 描述 certId String 是 证书ID publicKey String 是 个人公钥信息(Base64格式) accessObjective String 是 访问目的 字段解释:
accessObjective 访问目的
类型字段 介绍 SIGN 签名 DECRYPT 解密 DIGITAL_ENVELOPE_UNPACKING 数字证书拆包 P1_SIGN_BATCH_ONCE 一次性p1批签 P7_SIGN_BATCH_ONCE 一次性p7批签
# 二、响应介绍
响应参数:
data 结果信息 类型 描述 challengeCode String 挑战码 (十分钟自动过期) 成功响应实例:
JSON示例
{
"code":0,
"message":"success",
"requestId":"xxx",
"data":{
"challengeCode":"xxx"
}
}
- 失败响应实例:
JSON示例
{
"code": 10100,
"message": "申请挑战码,无此项SIGN访问目的",
"requestId":"xxx",
}
# 云证书私钥解密
该Api用于使用托管云证书私钥对已加密数据解密
# 一、请求介绍
请求地址:http://IP:PORT/clientapi/kms/v1/asymmetric/decrypt
请求方法:POST
请求参数:
名称 类型 是否必须 描述 ciphertext String 是 待解密数据 dataType DataType 是 待解密数据类型 (base64、hex) decryptDataType DataType 否 解密后数据格式 (原文、原文base64 、原文hex) keyType KeypairTypeEnum 否 解密类型 challengeCodeSignature String 是 挑战码签名值(Base64格式) challengeCode String 是 待验签数据(挑战码) 字段解释:
DataType 数据类型介绍
字段 类型介绍 BASE64 原文BASE64 HEX 原文Hex ORIGINAL 原文 KeypairTypeEnum 解密类型
类型字段 介绍 SIGN 签名密钥对解密 ENCRYPT 加密密钥对解密
# 二、响应介绍
响应参数:
data 结果信息 类型 描述 decryptData String 解密结果 result Integer 解密结果状态码(0为解密成功) message String 解密结果提示信息 成功响应实例:
JSON示例
{
"code":0,
"message":"success",
"requestId":"xxx",
"data":{
"result":0,
"message":"success",
"decryptData":"123"
}
}
- 失败响应实例:
JSON示例
{
"code": 10100,
"message": "挑战码已失效",
"requestId":"xxx",
}
# 云证书P1签名
该Api用于使用托管云证书私钥进行P1签名
# 一、请求介绍
请求地址:http://IP:PORT/clientapi/kms/v1/sign/p1
请求方法:POST
请求参数:
名称 类型 是否必须 描述 data String 是 待签名数据(原文、原文base64、原文hex、摘要base64、摘要hex) dataType DataType 是 待签名数据格式 signatureAlgorithm SignatureAlgorithm 否 签名算法:SM2证书签名算法为SM3withSM2 signDataType DataType 否 签名后数据格式 (base64、hex) challengeCodeSignature String 是 挑战码签名值(Base64格式) challengeCode String 是 待验签数据(挑战码) 字段解释:
DataType 数据类型介绍
字段 类型介绍 BASE64 原文BASE64 HEX 原文Hex ORIGINAL 原文 DIGEST_BASE64 摘要base64 DIGEST_HEX 摘要hex SignatureAlgorithm 签名算法介绍
类型字段 介绍 SM3withSM2 SM3withSM2签名算法
# 二、响应介绍
响应参数:
data 结果信息 类型 描述 signData String 签名结果 result Integer 签名结果状态码(0为签名成功) message String 验证提示信息 成功响应实例:
JSON示例
{
"code":0,
"message":"success",
"requestId":"xxx",
"data":{
"result":0,
"message":"success",
"signData":"BMY18jZgCLgQ1Jp9rbmQbEo+Pj6vsd7L6+z......"
}
}
- 失败响应实例:
JSON示例
{
"code": 10100,
"message": "挑战码已失效",
"requestId":"xxx",
}
# 云证书P7签名
该Api用于使用托管云证书私钥进行P7签名
# 一、请求介绍
请求地址:http://IP:PORT/clientapi/kms/v1/sign/p7
请求方法:POST
请求参数:
名称 类型 是否必须 描述 data String 是 待签名数据 dataType DataType 是 待签名数据格式(原文、原文base64、原文hex) signatureAlgorithm SignatureAlgorithm 否 签名算法:SM2证书签名算法为SM3withSM2,RSA默认为SHA256withRSA signDataType DataType 否 签名后数据格式 (base64、hex) attach Boolean 否 签名是否包含原文 true-包含原文 false-不包含原文;默认false challengeCodeSignature String 是 挑战码签名值(Base64格式) challengeCode String 是 待验签数据(挑战码) 字段解释:
DataType 数据类型介绍
字段 类型介绍 BASE64 原文BASE64 HEX 原文Hex ORIGINAL 原文 DIGEST_BASE64 摘要base64 DIGEST_HEX 摘要hex SignatureAlgorithm 签名算法介绍
类型字段 介绍 SM3withSM2 SM3withSM2签名算法
# 二、响应介绍
响应参数:
data 结果信息 类型 描述 signData String 签名结果 result Integer 签名结果状态码(0为签名成功) message String 验证提示信息 成功响应实例:
JSON示例
{
"code":0,
"message":"success",
"requestId":"xxx",
"data":{
"result":0,
"message":"success",
"signData":"BMY18jZgCLgQ1Jp9rbmQbEo+Pj6vsd7L6+z......"
}
}
- 失败响应实例:
JSON示例
{
"code": 10100,
"message": "挑战码已失效",
"requestId":"xxx",
}
# 云证书数字信封拆包
该Api用于使用托管云证书私钥进行数字信封拆包
# 一、请求介绍
请求地址:http://IP:PORT/clientapi/kms/v1/digital-envelope/unpacking
请求方法:POST
请求参数:
名称 类型 是否必须 描述 data String 是 待拆包数据 dataType DataType 是 待拆包数据格式 (base64 、hex) unpackingDataType DataType 否 拆包后数据格式(原文、原文base64、原文hex) challengeCodeSignature String 是 挑战码签名值(Base64格式) challengeCode String 是 待验签数据(挑战码) 字段解释:
DataType 数据类型介绍
字段 类型介绍 BASE64 原文BASE64 HEX 原文Hex ORIGINAL 原文
# 二、响应介绍
响应参数:
data 结果信息 类型 描述 recipient String 收信人 data String 拆包数据 成功响应实例:
JSON示例
{
"code": 0,
"message": "success",
"requestId":"xxx",
"data": {
"recipient": "xxx",
"data": "123"
}
}
- 失败响应实例:
JSON示例
{
"code": 10100,
"message": "挑战码已失效",
"requestId":"xxx",
}
# 批签授权码服务
# 一、请求介绍
请求地址:http://IP:PORT/clientapi/kms/v1/authorizationcode/apply
请求方法:POST
请求参数:
名称 类型 是否必须 描述 challengeCodeSignature String 是 挑战码签名值base64 challengeCode String 是 挑战码
# 二、响应介绍
响应参数:
data 结果信息 类型 描述 authorizationCode String 授权码 (只能使用一次,24小时后过期) 成功响应实例:
JSON示例
{
"code": 0,
"message": "success",
"requestId":"xxx",
"data": {
"authorizationCode": "xxx"
}
}
- 失败响应实例:
JSON示例
{
"code": 10100,
"message": "挑战码已失效",
"requestId":"xxx",
}