שיטה: Privatekeysign

מבטל את העטיפה של מפתח פרטי עטוף ואז חותם על ה-digest שסופק על ידי הלקוח.

בקשת HTTP

POST https://KACLS_URL/privatekeysign

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

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

ללא.

גוף הבקשה

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

ייצוג ב-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 של העברת נתונים שמספקת הקשר נוסף לגבי הפעולה. צריך לבצע סניטציה ל-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=="
}