یک کلید خصوصیِ بستهبندیشده را باز میکند و سپس خلاصه ارائهشده توسط کلاینت را امضا میکند.
درخواست HTTP
POST https:// KACLS_URL /privatekeysign
KACLS_URL
با URL سرویس فهرست کنترل دسترسی کلیدی (KACLS) جایگزین کنید.
پارامترهای مسیر
هیچ کدام.
درخواست بدنه
بدنه درخواست شامل دادههایی با ساختار زیر است:
نمایش JSON | |
---|---|
{ "authentication": string, "authorization": string, "algorithm": string, "digest": string, "rsa_pss_salt_length": integer, "reason": string, "wrapped_private_key": string } |
فیلدها | |
---|---|
authentication | یک JWT که توسط ارائه دهنده هویت (IdP) صادر شده و هویت کاربر را تأیید میکند. به توکنهای احراز هویت مراجعه کنید. |
authorization | یک JWT که ادعا میکند کاربر مجاز به باز کردن کلید |
algorithm | الگوریتمی که برای رمزگذاری کلید رمزگذاری دادهها (DEK) در رمزگذاری پاکت استفاده شده است. |
digest | خلاصه پیام کدگذاری شده با Base64. خلاصه |
rsa_pss_salt_length | (اختیاری) طول نمک مورد استفاده، اگر الگوریتم امضا RSASSA-PSS باشد. اگر الگوریتم امضا RSASSA-PSS نباشد، این فیلد نادیده گرفته میشود. |
reason | یک رشته JSON عبوری که زمینه بیشتری در مورد عملیات ارائه میدهد. JSON ارائه شده باید قبل از نمایش، پاکسازی شود. حداکثر اندازه: ۱ کیلوبایت. |
wrapped_private_key | کلید خصوصی رمزگذاری شده با base64. حداکثر اندازه: ۸ کیلوبایت. قالب کلید خصوصی یا کلید خصوصیِ بستهبندیشده به پیادهسازی سرویس فهرست کنترل دسترسی به کلید (KACLS) بستگی دارد. در سمت کلاینت و در سمت جیمیل، این به عنوان یک تودهی مات در نظر گرفته میشود. |
بدنه پاسخ
در صورت موفقیت، این متد یک امضای کدگذاری شده با 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=="
}