解封封装的私钥,然后对客户端提供的摘要进行签名。
HTTP 请求
POST https://KACLS_URL/privatekeysign
将 KACLS_URL 替换为密钥访问控制列表服务 (KACLS) 网址。
路径参数
无。
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 | |
|---|---|
{ "authentication": string, "authorization": string, "algorithm": string, "digest": string, "rsa_pss_salt_length": integer, "reason": string, "wrapped_private_key": string } |
|
| 字段 | |
|---|---|
authentication |
身份提供方 (IdP) 发布的 JWT,用于断言用户身份。请参阅 身份验证 令牌。 |
authorization |
用于断言用户有权解封
|
algorithm |
用于在信封加密中加密数据加密密钥 (DEK) 的算法。 |
digest |
Base64 编码的消息摘要。DER 编码的
|
rsa_pss_salt_length |
(可选)要使用的盐长度(如果签名算法为 RSASSA-PSS)。如果签名算法不是 RSASSA-PSS,则系统会忽略此字段 。 |
reason |
一个直通 JSON 字符串,用于提供有关操作的其他背景信息。 提供的 JSON 应先经过清理,然后再 显示。最大大小:1 千字节。 |
wrapped_private_key |
Base64 编码的封装私钥。最大大小:8 千字节。 私钥或封装私钥的格式取决于 密钥访问控制列表服务 (KACLS) 实现。在客户端和 Gmail 端,这被视为不透明 blob。 |
响应正文
如果成功,此方法会返回 Base64 编码的签名。
如果操作失败,系统会返回 结构化错误回复 。
| JSON 表示法 | |
|---|---|
{ "signature": string } |
|
| 字段 | |
|---|---|
signature |
Base64 编码的签名。 |
示例
此示例提供了 privatekeysign 方法的示例请求和响应。
请求
{
"wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
"digest": "EOBc7nc+7JdIDeb0DVTHriBAbo/dfHFZJgeUhOyo67o=",
"authorization": "eyJhbGciOi...",
"authentication": "eyJhbGciOi...",
"algorithm": "SHA256withRSA",
"reason": "sign"
}
响应
{
"signature": "LpyCSy5ddy82PIp/87JKaMF4Jmt1KdrbfT1iqpB7uhVd3OwZiu+oq8kxIzB7Lr0iX4aOcxM6HiUyMrGP2PG8x0HkpykbUKQxBVcfm6SLdsqigT9ho5RYw20M6ZXNWVRetFSleKex4SRilTRny38e2ju/lUy0KDaCt1hDUT89nLZ1wsO3D1F3xk8J7clXv5fe7GPRd1ojo82Ny0iyVO7y7h1lh2PACHUFXOMzsdURYFCnxhKAsadccCxpCxKh5x8p78PdoenwY1tnT3/X4O/4LAGfT4fo98Frxy/xtI49WDRNZi6fsL6BQT4vS/WFkybBX9tXaenCqlRBDyZSFhatPQ=="
}