روش: privatekeysign

یک کلید خصوصی پیچیده شده را باز می کند و سپس خلاصه ارائه شده توسط مشتری را امضا می کند.

درخواست 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

string

JWT صادر شده توسط ارائه دهنده هویت (IdP) که نشان می دهد کاربر کیست. به نشانه های احراز هویت مراجعه کنید.

authorization

string

JWT ادعا می کند که کاربر مجاز است یک کلید برای resource_name را باز کند. به نشانه های مجوز مراجعه کنید.

algorithm

string

الگوریتمی که برای رمزگذاری کلید رمزگذاری داده ها (DEK) در رمزگذاری پاکت استفاده شد.

digest

string

خلاصه پیام کدگذاری شده با Base64. خلاصه SignedAttributes رمزگذاری شده DER. این مقدار خالی است. حداکثر اندازه: 128 بایت

rsa_pss_salt_length

integer

(اختیاری) طول نمک مورد استفاده، اگر الگوریتم امضا RSASSA-PSS باشد. اگر الگوریتم امضا RSASSA-PSS نباشد، این فیلد نادیده گرفته می شود.

reason

string (UTF-8)

یک رشته JSON گذرا که زمینه اضافی را در مورد عملیات ارائه می دهد. JSON ارائه شده باید قبل از نمایش، ضدعفونی شود. حداکثر حجم: 1 کیلوبایت

wrapped_private_key

string

کلید خصوصی پیچیده شده با کد base64. حداکثر حجم: 8 کیلوبایت

قالب کلید خصوصی یا کلید خصوصی پیچیده شده به اجرای سرویس فهرست کنترل دسترسی کلید (KACLS) بستگی دارد. در مشتری و در سمت Gmail، این به عنوان یک لکه غیر شفاف در نظر گرفته می شود.

بدن پاسخگو

در صورت موفقیت آمیز بودن، این روش یک امضای کدگذاری شده با base64 را برمی گرداند.

اگر عملیات ناموفق باشد، یک پاسخ خطای ساختار یافته برگردانده می شود.

نمایندگی JSON
{
  "signature": string
}
فیلدها
signature

string

امضای با کد 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=="
}