# KMSClient 主入口

KMSClient接口 为 KMS sdk 的主入口

# 生成随机数

  • 定义:
接口说明
接口名称 genRandom
接口描述 生成随机数
使用者 应用方
  • 输入参数:
参数 数据类型 说明
randomBytesLen int 生成的随机数的字节数长度
  • 返回类型:byte[]
    返回 byte 数组, 数组长度为 randomBytesLen 。

# 生成业务密钥

  • 定义:
接口说明
接口名称 genBizKey
接口描述 生成业务密钥, 包括 加解密密钥 和 hmac 密钥
使用者 应用方
  • 输入参数:
参数 数据类型 说明
  • 返回类型:KMSBizKey
    KMSBizKey类包含业务密钥的加解密密钥id 和 hmac密钥id,都需要存储在数据库

# 使用业务密钥

  • 定义:
接口说明
接口名称 useBizkeyRemoteEncryption
接口描述 远程使用业务密钥加解密,生成用户密钥等
使用者 应用方
  • 输入参数:
参数 数据类型 说明

# 本地使用用户密钥

  • 定义:
接口说明
接口名称 useUserkeyLocalSoftEncryption
接口描述 本地使用用户密钥加解密
使用者 应用方
  • 输入参数:
参数 数据类型 说明
userEncKeyId String 用户的加密密钥的id
生成用户密钥 得到的
userEncKey String 用户的加密密钥(密文格式)
生成用户密钥 得到的
userHmacKeyId String 用户的hmac密钥的id
生成用户密钥 得到的
userHmacKey String 用户的hmac密钥(密文格式)
生成用户密钥 得到的

# 从密文解析出keyid(输入为String)

  • 定义:
接口说明
接口名称 getKeyId
接口描述 从密文解析出 keyid。主要用于用户密钥解密,根据keyid 传入对应的密文密钥
使用者 应用方
  • 输入参数:
参数 数据类型 说明
ciphertext String BASE64 格式的密文
  • 返回类型:String
    返回的是 keyid

# 从密文解析出keyid(输入为byte[])

  • 定义:
接口说明
接口名称 getKeyId
接口描述 从密文解析出 keyid。主要用于用户密钥解密,根据keyid 传入对应的密文密钥
使用者 应用方
  • 输入参数:
参数 数据类型 说明
ciphertext byte[] 密文
  • 返回类型:String
    返回的是 keyid

# 使用业务密钥简易解密

  • 定义:
接口说明
接口名称 useClientRemoteEasyDecryption
接口描述 从密文解析出 keyid,自动构造业务密钥用法对象后简易解密
使用者 应用方
  • 输入参数:
参数 数据类型 说明

# 使用本地简易解密

  • 定义:
接口说明
接口名称 useClientLocalEasyDecryptionSoft
接口描述 从密文解析出 keyid,自动构造用户密钥用法对象后简易解密
使用者 应用方
  • 输入参数:
参数 数据类型 说明

# 使用本地SDF卡简易解密

  • 定义:
接口说明
接口名称 useClientLocalEasyDecryptionSDF
接口描述 从密文解析出 keyid,自动构造用户密钥用法对象后简易解密
使用者 应用方
  • 输入参数:
参数 数据类型 说明