שיטה: Privatekeysign

פותח מפתח פרטי ארוז ולאחר מכן חותם על הסיכום (digest) שסופק על ידי הלקוח.

בקשת 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. הערך הזה לא מודבק. גודל מקסימלי: 128B

rsa_pss_salt_length

integer

(אופציונלי) אורך המלח שבו משתמשים, אם אלגוריתם החתימה הוא RSASSA-PSS. אם אלגוריתם החתימה הוא לא RSASSA-PSS, המערכת מתעלמת מהשדה הזה.

reason

string (UTF-8)

מחרוזת JSON לצורך העברה (passthrough) שמספקת הקשר נוסף לגבי הפעולה. צריך לנקות את ה-JSON שסופק לפני שהוא מוצג. גודל מקסימלי: 1KB.

wrapped_private_key

string

המפתח הפרטי המקודד ב-base64. גודל מקסימלי: 8KB.

הפורמט של המפתח הפרטי או של המפתח הפרטי המאו包 תלוי בהטמעה של שירות רשימת המפתחות של בקרת הגישה (KACLS). בצד הלקוח ובצד Gmail, הנתונים האלה מטופלים כ-blob אטום.

גוף התשובה

אם הפעולה תצליח, השיטה הזו תחזיר חתימה בקידוד 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=="
}