解封装封装的私钥,然后对客户端提供的摘要进行签名。
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 | 
 一个 JWT,用于断言用户有权为  | 
| algorithm | 
 在信封加密中用于加密数据加密密钥 (DEK) 的算法。 | 
| digest | 
 Base64 编码的消息摘要。DER 编码  | 
| rsa_pss_salt_length | 
 (可选)要使用的盐长度(如果签名算法为 RSASSA-PSS)。如果签名算法不是 RSASSA-PSS,则忽略此字段。 | 
| reason | 
 一个传递 JSON 字符串,用于提供有关操作的其他背景信息。提供的 JSON 应先经过清理,然后再显示。大小上限:1 KB。 | 
| wrapped_private_key | 
 采用 base64 编码的封装私钥。大小上限:8 KB。 私钥或封装的私钥的格式取决于密钥访问控制列表服务 (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=="
}