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

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="
}