解封已封装的私钥,然后解密已加密为公钥的内容加密密钥。
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 |
身份提供程序 (IdP) 发出的 JWT,用于声明用户的身份。请参阅身份验证令牌。 |
authorization |
一个 JWT,用于断言用户可以解封 |
algorithm |
在信封加密中用于加密数据加密密钥 (DEK) 的算法。 |
encrypted_data_encryption_key |
采用 Base64 编码的加密内容加密密钥,该密钥是使用与私钥关联的公钥加密的。大小上限:1 KB。 |
rsa_oaep_label |
如果算法为 RSAES-OAEP,则为 Base64 编码的标签 L。如果算法不是 RSAES-OAEP,则系统会忽略此字段。 |
reason |
一个传输 JSON 字符串,用于提供有关操作的其他背景信息。提供的 JSON 应先经过清理,然后才能显示。大小上限:1 KB。 |
wrapped_private_key |
采用 base64 编码的封装私钥。大小上限:8 KB。 私钥或封装的私钥的格式取决于密钥访问控制列表服务 (KACLS) 实现。在客户端和 Gmail 端,这会被视为不透明 blob。 |
响应正文
如果成功,此方法将返回一个 base64 数据加密密钥。
如果操作失败,系统会返回结构化错误回复。
JSON 表示法 | |
---|---|
{ "data_encryption_key": string } |
字段 | |
---|---|
data_encryption_key |
使用 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="
}