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

rsa_pss_salt_length

integer

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

reason

string (UTF-8)

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

wrapped_private_key

string

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

הפורמט של המפתח הפרטי או המפתח הפרטי הארוז נקבע בהתאם להטמעה של Key Access List Service (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=="
}