解密时不检查封装的私钥 ACL。它用于解密从 Google 导出的数据 (takeout)。
HTTP 请求
POST https://KACLS_URL/privilegedprivatekeydecrypt
将 KACLS_URL 替换为密钥访问控制列表服务 (KACLS) 网址。
路径参数
无。
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 | |
|---|---|
{ "authentication": string, "algorithm": string, "encrypted_data_encryption_key": string, "rsa_oaep_label": string, "reason": string, "spki_hash": string, "spki_hash_algorithm": string, "wrapped_private_key": string } |
|
| 字段 | |
|---|---|
authentication |
由身份提供方 (IdP) 颁发的 JWT,用于断言用户身份。请参阅身份验证令牌。 |
algorithm |
在信封加密中用于加密数据加密密钥 (DEK) 的算法。 |
encrypted_data_encryption_key |
采用 Base64 编码的加密内容加密密钥,该密钥使用与私钥相关联的公钥进行加密。大小上限:1 KB。 |
rsa_oaep_label |
如果算法为 RSAES-OAEP,则为 Base64 编码的标签 L。如果算法不是 RSAES-OAEP,则系统会忽略此字段。 |
reason |
一个传递 JSON 字符串,用于提供有关操作的其他上下文。提供的 JSON 应先经过清理,然后再显示。大小上限:1 KB。 |
spki_hash |
所访问私钥的 DER 编码 |
spki_hash_algorithm |
用于生成 |
wrapped_private_key |
采用 base64 编码的封装私钥。大小上限:8 KB。 |
响应正文
如果成功,此方法将返回 base64 数据加密密钥。此密钥在客户端用于解密消息正文。
如果操作失败,则会返回结构化错误回复。
| JSON 表示法 | |
|---|---|
{ "data_encryption_key": string } |
|
| 字段 | |
|---|---|
data_encryption_key |
base64 编码的数据加密密钥。 |
示例
此示例提供了 privilegedprivatekeydecrypt 方法的请求和响应示例。
请求
POST https://mykacls.example.org/v1/privilegedprivatekeydecrypt
{
"wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
"encrypted_data_encryption_key": "dGVzdCB3cmFwcGVkIGRlaw...",
"authentication": "eyJhbGciOi...",
"spki_hash": "LItGzrmjSFD57QdrY1dcLwYmSwBXzhQLAA6zVcen+r0=",
"spki_hash_algorithm": "SHA-256",
"algorithm": "RSA/ECB/PKCS1Padding",
"reason": "admin decrypt"
}
响应
{
"data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc"
}