方法:privatekeydecrypt

解封封装的私钥,然后对已加密到公钥的内容加密密钥进行解密。

HTTP 请求

POST https://BASE_URL/privatekeydecrypt

BASE_URL 替换为基准网址。

路径参数

无。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "encrypted_data_encryption_key": string,
  "rsa_oaep_label": string,
  "reason": string,
  "wrapped_private_key": string
}
字段
authentication

string

由身份提供方 (IdP) 颁发的用于声明用户身份的 JWT。请参阅身份验证令牌

authorization

string

断言用户有权解封 resource_name 密钥的 JWT。请参阅授权令牌

algorithm

string

用于对信封加密中的数据加密密钥 (DEK) 进行加密的算法。

encrypted_data_encryption_key

string (UTF-8)

采用 Base64 编码的加密内容加密密钥,使用与私钥关联的公钥进行加密。大小上限:1 KB。

rsa_oaep_label

string

Base64 编码的标签 L(如果算法为 RSAES-OAEP)。如果算法不是 RSAES-OAEP,则忽略此字段。

reason

string (UTF-8)

传递 JSON 字符串,提供有关操作的其他上下文。在显示之前,应对提供的 JSON 进行清理。大小上限:1 KB。

wrapped_private_key

string

采用 base64 编码的封装私钥。大小上限:8 KB。

私钥或封装的私钥的格式取决于密钥访问控制列表服务 (KACLS) 实现。在客户端和 Gmail 端,这被视为不透明的 blob。

响应正文

如果成功,此方法会返回一个 base64 数据加密密钥。

如果操作失败,系统会返回结构化错误回复

JSON 表示法
{
  "data_encryption_key": string
}
字段
data_encryption_key

string

采用 Base64 编码的数据加密密钥。

示例

此示例为 privatekeydecrypt 方法提供了一个示例请求和响应。

请求

POST https://mykacls.example.org/v1/privatekeydecrypt

{
  "wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
  "encrypted_data_encryption_key": "dGVzdCB3cmFwcGVkIGRlaw...",
  "authorization": "eyJhbGciOi...",
  "authentication": "eyJhbGciOi...",
  "algorithm": "RSA/ECB/PKCS1Padding",
  "reason": "decrypt"
}

响应

{
  "data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc="
}