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)

الحقل مطلوب. كائن من الجهاز يثبت أنّه تم توفير بيانات الاعتماد بشكل صحيح يمكنك الاطّلاع على تعريف الكائن لمزيد من التفاصيل حول بنيته.

ملاحظة: لا يتم توفير هذا الكائن إلا في المرة الأولى التي يتم فيها توفير كائنات أمان للأجهزة الجوّالة بعد توفير بيانات الاعتماد. لن يتم توفير هذا الكائن عند استخدام هذه الطريقة لتحديث كائنات أمان الأجهزة الجوّالة.

deviceEncryptionKey

object (DeviceEncryptionKey)

الحقل مطلوب. كائن يحتوي على مفتاح التشفير المؤقت للجهاز والبيانات الوصفية المرتبطة به يُستخدم هذا المفتاح لتشفير قيمة وإرسالها إلى الجهاز. قد لا يتم توفير هذا الكائن في بيئة وضع الحماية أثناء الإعداد، ما يشير إلى أنّه على الجهة المُصدرة عرض بيانات نصية عادية. يجب دائمًا ضبط هذا في بيئة التشغيل الفعلي.

credentialVersionId

string

الحقل مطلوب. رقم تعريف إصدار بيانات الاعتماد المتوفّرة حاليًا على الجهاز يجب عدم استخدام هذا الحقل لتوفير كائنات أمان للأجهزة الجوّالة لإصدارات بيانات الاعتماد القديمة. إذا لم يتطابق هذا الحقل مع أحدث إصدار تم توفيره في سجلّ الجهة المُصدرة، يجب عرض ErrorResponse مع InvalidState بدلاً من ذلك.

نص الاستجابة

استجابة تحتوي على نتيجة توفير كائنات أمان للأجهزة الجوّالة

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "mobileSecurityObjects": [
    {
      object (MobileSecurityObject)
    }
  ]
}
الحقول
responseMetadata

object (ResponseMetadata)

الحقل مطلوب. البيانات الوصفية حول الاستجابة، وهي مطلوبة في جميع الاستجابات.

mobileSecurityObjects[]

object (MobileSecurityObject)

الحقل مطلوب. قائمة بكائنات أمان الأجهزة الجوّالة الجاهزة قد تكون هذه القائمة فارغة إذا لم تكن أيّ كائنات أمان للأجهزة الجوّالة جاهزة حاليًا.

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

القيمة المرمّزة باستخدام Base64 لـ AuthKey

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 لبيانات الاعتماد