Method: vdc.provisionMobileSecurityObjects

נקודת קצה להקצאת הרשאות.

בקשת HTTP

POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects

גוף הבקשה

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

ייצוג ב-JSON
{
  "requestMetadata": {
    object (RequestMetadata)
  },
  "deviceReferenceId": string,
  "credentialId": string,
  "authKeys": [
    {
      object (AuthKey)
    }
  ],
  "proofOfProvisioning": {
    object (ProofOfProvisioning)
  },
  "deviceEncryptionKey": {
    object (DeviceEncryptionKey)
  },
  "credentialVersionId": string
}
שדות
requestMetadata

object (RequestMetadata)

המטא-נתונים לגבי הבקשה, שנדרשים בכל הבקשות.

deviceReferenceId

string

המזהה שמתאים למכשיר ולמפתח הזהות שמשויך למכשיר. זה לא מזהה מכשיר, כלומר אם למשתמש יש שני פרטי כניסה נפרדים באותו מכשיר, המזהה הזה יהיה שונה בשני המקרים.

המזהה הזה מסופק בכל הבקשות, ואפשר להשתמש בו כדי ליצור קורלציה בין בקשות.

credentialId

string

מזהה אטום שמייצג פרטי כניסה ספציפיים שהוקצו למכשיר.

לדוגמה: מזהה ייחודי אוניברסלי (UUID)

authKeys[]

object (AuthKey)

רשימה של אישורי x509 שצריך לאשר, כדי שאפשר יהיה להשתמש בהם כאובייקטים של אבטחה בנייד. כל אישור נחתם על ידי מפתח פרטי הכניסה של המכשיר.

proofOfProvisioning

object (ProofOfProvisioning)

אובייקט מהמכשיר שמוכיח שהקצאת פרטי הכניסה בוצעה בצורה תקינה. פרטים נוספים על המבנה של השדה הזה מופיעים בהגדרת האובייקט.

הערה: האובייקט הזה מסופק רק בפעם הראשונה שמוקצים אובייקטים של אבטחה לנייד אחרי הקצאת האישורים. אם משתמשים בשיטה הזו לרענון של MSO, המידע הזה לא יסופק.

deviceEncryptionKey

object (DeviceEncryptionKey)

אובייקט שמכיל את מפתח ההצפנה הזמני של המכשיר ואת המטא-נתונים שמשויכים אליו. המפתח הזה משמש להצפנת ערך בחזרה למכשיר. יכול להיות שהאובייקט הזה לא יסופק בסביבת ארגז החול במהלך ההצטרפות, מה שמצביע על כך שהגורם המנפיק צריך להחזיר נתונים בטקסט פשוט. תמיד צריך להגדיר את הערך הזה בסביבת הייצור.

credentialVersionId

string

מזהה גרסת פרטי הכניסה שיש למכשיר כרגע. אין להשתמש בשיטה הזו כדי להקצות אובייקטים של אבטחה לניידים לגרסאות ישנות של פרטי כניסה. אם הערך לא תואם לגרסה העדכנית ביותר שמוקצת ברשומה של הגורם המנפיק, צריך להחזיר במקום זאת ErrorResponse עם InvalidState.

גוף התשובה

תשובה שמכילה את התוצאה של הקצאת אובייקטים של אבטחה לנייד.

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

ייצוג ב-JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "mobileSecurityObjects": [
    {
      object (MobileSecurityObject)
    }
  ]
}
שדות
responseMetadata

object (ResponseMetadata)

המטא-נתונים לגבי התשובה, שנדרשים בכל התשובות.

mobileSecurityObjects[]

object (MobileSecurityObject)

רשימה של MobileSecurityObjects שמוכנים. אם אין כרגע אובייקטים של MobileSecurityObjects שמוכנים, הרשימה הזו תהיה ריקה.

AuthKey

אישור x509, שנחתם על ידי מפתח האישורים של המכשיר, שאמור להיות מאומת על ידי הגורם המנפיק.

הנתונים האלה מאוחזרים על ידי Wallet מ-Android Identity Credential API, ויש עליהם מידע נוסף בכתובת https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()

ייצוג ב-JSON
{

  // Union field presencetype can be only one of the following:
  "encryptedData": {
    object (EncryptedData)
  },
  "unencryptedValue": string
  // End of list of possible types for union field presencetype.
}
שדות
שדה איחוד presencetype. שדה oneof שמציין איך מפתח האימות מוצג. הערך presencetype יכול להיות רק אחד מהבאים:
encryptedData

object (EncryptedData)

הערך המוצפן ומטא-נתוני ההצפנה שנדרשים כדי לפענח את הערך.

unencryptedValue

string

הערך של 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 can be only one of the following:
  "encryptedData": {
    object (EncryptedData)
  },
  "unencryptedValue": string
  // End of list of possible types for union field presencetype.
}
שדות
שדה איחוד presencetype. מאפיין oneof שמציין איך מוצג ה-ProofOfProvisioning. הערך presencetype יכול להיות רק אחד מהבאים:
encryptedData

object (EncryptedData)

הערך המוצפן ומטא-נתוני ההצפנה שנדרשים כדי לפענח את הערך.

unencryptedValue

string

הערך בקידוד Base64 של ProofOfProvisioning.

MobileSecurityObject

אובייקט שמכיל תקצירים שחושבו מכל רכיב נתונים שכלול בהסמכה. הנתונים האלה מיוצגים כנתוני אימות סטטיים, שזה הפורמט הנדרש לספריית פרטי הזהות של Android. כאן אפשר לקרוא פרטים על יצירת נתוני אימות סטטיים.

ייצוג ב-JSON
{
  "expirationTimeMillis": string,

  // Union field presencetype can be only one of the following:
  "encryptedData": {
    object (EncryptedData)
  },
  "unencryptedValue": string
  // End of list of possible types for union field presencetype.
}
שדות
expirationTimeMillis

string (int64 format)

חותמת זמן שמייצגת את התאריך שבו תוקף האובייקט של אבטחת הנייד יפוג. חותמת הזמן מיוצגת כמספר אלפיות השנייה מאז ראשית זמן יוניקס.

שדה איחוד presencetype. רכיב oneof שמציין איך מוצגות ההסמכות. הערך presencetype יכול להיות רק אחד מהבאים:
encryptedData

object (EncryptedData)

הערך המוצפן ומטא-נתוני ההצפנה שנדרשים כדי לפענח את הערך.

unencryptedValue

string

הערך של פרטי הכניסה בקידוד Base64.