נקודת קצה להקצאת הרשאות.
בקשת HTTP
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
| ייצוג ב-JSON |
|---|
{ "requestMetadata": { object ( |
| שדות | |
|---|---|
requestMetadata |
המטא-נתונים לגבי הבקשה, שנדרשים בכל הבקשות. |
deviceReferenceId |
המזהה שמתאים למכשיר ולמפתח הזהות שמשויך למכשיר. זה לא מזהה מכשיר, כלומר אם למשתמש יש שני פרטי כניסה נפרדים באותו מכשיר, המזהה הזה יהיה שונה בשני המקרים. המזהה הזה מסופק בכל הבקשות, ואפשר להשתמש בו כדי ליצור קורלציה בין בקשות. |
credentialId |
מזהה אטום שמייצג פרטי כניסה ספציפיים שהוקצו למכשיר. לדוגמה: מזהה ייחודי אוניברסלי (UUID) |
authKeys[] |
רשימה של אישורי x509 שצריך לאשר, כדי שאפשר יהיה להשתמש בהם כאובייקטים של אבטחה בנייד. כל אישור נחתם על ידי מפתח פרטי הכניסה של המכשיר. |
proofOfProvisioning |
אובייקט מהמכשיר שמוכיח שהקצאת פרטי הכניסה בוצעה בצורה תקינה. פרטים נוספים על המבנה של השדה הזה מופיעים בהגדרת האובייקט. הערה: האובייקט הזה מסופק רק בפעם הראשונה שמוקצים אובייקטים של אבטחה לנייד אחרי הקצאת האישורים. אם משתמשים בשיטה הזו לרענון של MSO, המידע הזה לא יסופק. |
deviceEncryptionKey |
אובייקט שמכיל את מפתח ההצפנה הזמני של המכשיר ואת המטא-נתונים שמשויכים אליו. המפתח הזה משמש להצפנת ערך בחזרה למכשיר. יכול להיות שהאובייקט הזה לא יסופק בסביבת ארגז החול במהלך ההצטרפות, מה שמצביע על כך שהגורם המנפיק צריך להחזיר נתונים בטקסט פשוט. תמיד צריך להגדיר את הערך הזה בסביבת הייצור. |
credentialVersionId |
מזהה גרסת פרטי הכניסה שיש למכשיר כרגע. אין להשתמש בשיטה הזו כדי להקצות אובייקטים של אבטחה לניידים לגרסאות ישנות של פרטי כניסה. אם הערך לא תואם לגרסה העדכנית ביותר שמוקצת ברשומה של הגורם המנפיק, צריך להחזיר במקום זאת ErrorResponse עם InvalidState. |
גוף התשובה
תשובה שמכילה את התוצאה של הקצאת אובייקטים של אבטחה לנייד.
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
| ייצוג ב-JSON |
|---|
{ "responseMetadata": { object ( |
| שדות | |
|---|---|
responseMetadata |
המטא-נתונים לגבי התשובה, שנדרשים בכל התשובות. |
mobileSecurityObjects[] |
רשימה של MobileSecurityObjects שמוכנים. אם אין כרגע אובייקטים של MobileSecurityObjects שמוכנים, הרשימה הזו תהיה ריקה. |
AuthKey
אישור x509, שנחתם על ידי מפתח האישורים של המכשיר, שאמור להיות מאומת על ידי הגורם המנפיק.
הנתונים האלה מאוחזרים על ידי Wallet מ-Android Identity Credential API, ויש עליהם מידע נוסף בכתובת https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד presencetype. שדה oneof שמציין איך מפתח האימות מוצג. הערך presencetype יכול להיות רק אחד מהבאים: |
|
encryptedData |
הערך המוצפן ומטא-נתוני ההצפנה שנדרשים כדי לפענח את הערך. |
unencryptedValue |
הערך של AuthKey בקידוד base64. |
ProofOfProvisioning
מבנה COSE_Sign1 חתום, שנחתם על ידי מפתח האישורים של המכשיר, שמוכיח שהאישורים הקשורים הוקצו בצורה נכונה לאחסון המאובטח במכשיר.
המבנה הזה מוגדר על ידי Android Identity Credential API, ויש עליו מידע נוסף בכתובת https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד presencetype. מאפיין oneof שמציין איך מוצג ה-ProofOfProvisioning. הערך presencetype יכול להיות רק אחד מהבאים: |
|
encryptedData |
הערך המוצפן ומטא-נתוני ההצפנה שנדרשים כדי לפענח את הערך. |
unencryptedValue |
הערך בקידוד Base64 של ProofOfProvisioning. |
MobileSecurityObject
אובייקט שמכיל תקצירים שחושבו מכל רכיב נתונים שכלול בהסמכה. הנתונים האלה מיוצגים כנתוני אימות סטטיים, שזה הפורמט הנדרש לספריית פרטי הזהות של Android. כאן אפשר לקרוא פרטים על יצירת נתוני אימות סטטיים.
| ייצוג ב-JSON |
|---|
{ "expirationTimeMillis": string, // Union field |
| שדות | |
|---|---|
expirationTimeMillis |
חותמת זמן שמייצגת את התאריך שבו תוקף האובייקט של אבטחת הנייד יפוג. חותמת הזמן מיוצגת כמספר אלפיות השנייה מאז ראשית זמן יוניקס. |
שדה איחוד presencetype. רכיב oneof שמציין איך מוצגות ההסמכות. הערך presencetype יכול להיות רק אחד מהבאים: |
|
encryptedData |
הערך המוצפן ומטא-נתוני ההצפנה שנדרשים כדי לפענח את הערך. |
unencryptedValue |
הערך של פרטי הכניסה בקידוד Base64. |