解封已封装的私钥,然后对客户端提供的摘要进行签名。
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 |
身份提供程序 (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=="
}