یک کلید خصوصی پیچیده شده را باز می کند و سپس خلاصه ارائه شده توسط مشتری را امضا می کند.
درخواست HTTP
POST https:// BASE_URL /privatekeysign
BASE_URL
با URL پایه جایگزین کنید.
پارامترهای مسیر
هیچ کدام.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
نمایندگی 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 ارائه شده باید قبل از نمایش، ضدعفونی شود. حداکثر حجم: 1 کیلوبایت |
wrapped_private_key | کلید خصوصی پیچیده شده با کد base64. حداکثر حجم: 8 کیلوبایت قالب کلید خصوصی یا کلید خصوصی پیچیده شده به اجرای سرویس فهرست کنترل دسترسی کلید (KACLS) بستگی دارد. در مشتری و در سمت Gmail، این به عنوان یک لکه غیر شفاف در نظر گرفته می شود. |
بدن پاسخگو
در صورت موفقیت آمیز بودن، این روش یک امضای کدگذاری شده با 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=="
}