שיטה: פענוח מפתח פרטי

פותח את האריזה של מפתח פרטי עטוף, ואז מפענח את מפתח ההצפנה של התוכן שמוצפן באמצעות המפתח הציבורי.

בקשת HTTP

POST https://KACLS_URL/privatekeydecrypt

מחליפים את KACLS_URL בכתובת ה-URL של שירות רשימת המפתחות של בקרת הגישה (KACLS).

פרמטרים של נתיב

ללא.

גוף הבקשה

גוף הבקשה מכיל נתונים עם המבנה הבא:

ייצוג ב-JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "encrypted_data_encryption_key": string,
  "rsa_oaep_label": string,
  "reason": string,
  "wrapped_private_key": string
}
שדות
authentication

string

‫JWT שהונפק על ידי ספק הזהויות (IdP) וכולל הצהרה לגבי זהות המשתמש. ראו אסימוני אימות.

authorization

string

‫JWT שמאשר שלמשתמש יש הרשאה לפענח מפתח עבור resource_name. מידע על טוקנים של הרשאה

algorithm

string

האלגוריתם ששימש להצפנת המפתח להצפנת נתונים (DEK) בהצפנת מעטפת.

encrypted_data_encryption_key

string (UTF-8)

מפתח הצפנה של תוכן מוצפן בקידוד Base64, שמוצפן באמצעות המפתח הציבורי שמשויך למפתח הפרטי. גודל מקסימלי: 1KB.

rsa_oaep_label

string

תווית L בקידוד Base64, אם האלגוריתם הוא RSAES-OAEP. אם האלגוריתם הוא לא RSAES-OAEP, המערכת מתעלמת מהשדה הזה.

reason

string (UTF-8)

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

wrapped_private_key

string

המפתח הפרטי העטוף בקידוד Base64. גודל מקסימלי: 8KB.

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

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, השיטה הזו מחזירה מפתח להצפנת נתונים בפורמט Base64.

אם הפעולה נכשלת, מוחזרת תגובה עם שגיאה מובנית.

ייצוג ב-JSON
{
  "data_encryption_key": string
}
שדות
data_encryption_key

string

מפתח להצפנת נתונים בקידוד Base64.

דוגמה

בדוגמה הזו מופיעות בקשה ותגובה לדוגמה לשיטה privatekeydecrypt.

בקשה

POST https://mykacls.example.org/v1/privatekeydecrypt

{
  "wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
  "encrypted_data_encryption_key": "dGVzdCB3cmFwcGVkIGRlaw...",
  "authorization": "eyJhbGciOi...",
  "authentication": "eyJhbGciOi...",
  "algorithm": "RSA/ECB/PKCS1Padding",
  "reason": "decrypt"
}

תשובה

{
  "data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc="
}