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