方法: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

一个 JWT,用于断言用户可以解封 resource_name 的密钥。请参阅授权令牌

algorithm

string

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

encrypted_data_encryption_key

string (UTF-8)

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

rsa_oaep_label

string

如果算法为 RSAES-OAEP,则为 Base64 编码的标签 L。如果算法不是 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="
}