解除包裝的私密金鑰,然後簽署用戶端提供的摘要。
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=="
}