方法:privatekeysign

解封已封装的私钥,然后对客户端提供的摘要进行签名。

HTTP 请求

POST https://BASE_URL/privatekeysign

BASE_URL 替换为基本网址。

路径参数

无。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
字段
authentication

string

身份提供程序 (IdP) 发出的 JWT,用于声明用户的身份。请参阅身份验证令牌

authorization

string

一个 JWT,用于断言用户可以为 resource_name 解封装密钥。请参阅授权令牌

algorithm

string

在信封加密中用于加密数据加密密钥 (DEK) 的算法。

digest

string

Base64 编码的消息摘要。DER 编码的 SignedAttributes 的摘要。此值未填充。大小上限:128B

rsa_pss_salt_length

integer

(可选)如果签名算法为 RSASSA-PSS,则要使用的盐长度。如果签名算法不是 RSASSA-PSS,系统会忽略此字段。

reason

string (UTF-8)

一个传输 JSON 字符串,用于提供有关操作的其他背景信息。提供的 JSON 应先经过清理,然后才能显示。大小上限:1 KB。

wrapped_private_key

string

采用 base64 编码的封装私钥。大小上限:8 KB。

私钥或封装的私钥的格式取决于密钥访问控制列表服务 (KACLS) 实现。在客户端和 Gmail 端,这会被视为不透明 blob。

响应正文

如果成功,此方法将返回 base64 编码的签名。

如果操作失败,系统会返回结构化错误回复

JSON 表示法
{
  "signature": string
}
字段
signature

string

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