פותח את האריזה של מפתח פרטי עטוף, ואז מפענח את מפתח ההצפנה של התוכן שמוצפן באמצעות המפתח הציבורי.
בקשת 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 |
JWT שהונפק על ידי ספק הזהויות (IdP) וכולל הצהרה לגבי זהות המשתמש. ראו אסימוני אימות. |
authorization |
JWT שמאשר שלמשתמש יש הרשאה לפענח מפתח עבור |
algorithm |
האלגוריתם ששימש להצפנת המפתח להצפנת נתונים (DEK) בהצפנת מעטפת. |
encrypted_data_encryption_key |
מפתח הצפנה של תוכן מוצפן בקידוד Base64, שמוצפן באמצעות המפתח הציבורי שמשויך למפתח הפרטי. גודל מקסימלי: 1KB. |
rsa_oaep_label |
תווית L בקידוד Base64, אם האלגוריתם הוא RSAES-OAEP. אם האלגוריתם הוא לא RSAES-OAEP, המערכת מתעלמת מהשדה הזה. |
reason |
מחרוזת JSON של העברת נתונים שמספקת הקשר נוסף לגבי הפעולה. צריך לבצע סניטציה ל-JSON שסופק לפני שמציגים אותו. גודל מקסימלי: 1KB. |
wrapped_private_key |
המפתח הפרטי העטוף בקידוד Base64. גודל מקסימלי: 8KB. הפורמט של המפתח הפרטי או של המפתח הפרטי המוצפן תלוי בהטמעה של השירות למפתחות של בקרת גישה (KACLS). בצד הלקוח ובצד Gmail, הנתונים האלה נחשבים ל-blob אטום. |
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, השיטה הזו מחזירה מפתח להצפנת נתונים בפורמט Base64.
אם הפעולה נכשלת, מוחזרת תגובה עם שגיאה מובנית.
ייצוג ב-JSON | |
---|---|
{ "data_encryption_key": string } |
שדות | |
---|---|
data_encryption_key |
מפתח להצפנת נתונים בקידוד 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="
}