# 客户端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",
}
最后更新于: 3/27/2023, 1:55:05 PM