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 موقَّعة بمفتاح بيانات اعتماد الجهاز، ويجب أن تصادق عليها جهة الإصدار.

تسترجع المحفظة هذه المفاتيح من واجهة برمجة التطبيقات 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 يشير إلى كيفية عرض AuthKey. يمكن أن يكون التعليق 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 Identity Credential. يمكنك الاطّلاع على هذا الرابط لمعرفة تفاصيل حول إنشاء بيانات المصادقة الثابتة.

تمثيل 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.