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