מבטל את העטיפה של מפתח פרטי עטוף ואז חותם על ה-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 |
JWT שהונפק על ידי ספק הזהויות (IdP) וכולל הצהרה לגבי זהות המשתמש. ראו אסימוני אימות. |
authorization |
JWT שמאשר שלמשתמש יש הרשאה לפענח מפתח עבור |
algorithm |
האלגוריתם ששימש להצפנת המפתח להצפנת נתונים (DEK) בהצפנת מעטפת. |
digest |
תמצית הודעה בקידוד Base64. התקציר של |
rsa_pss_salt_length |
(אופציונלי) אורך המלח לשימוש, אם אלגוריתם החתימה הוא RSASSA-PSS. אם אלגוריתם החתימה הוא לא RSASSA-PSS, המערכת מתעלמת מהשדה הזה. |
reason |
מחרוזת JSON של העברת נתונים שמספקת הקשר נוסף לגבי הפעולה. צריך לבצע סניטציה ל-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=="
}