الخطوة 4: اختبار عملية التكامل

قبل بدء عملية الدمج في بيئة الإنتاج، تأكَّد من أنّها تعمل بشكل كامل في وضع الحماية باستخدام بطاقة الهوية الرقمية التجريبية، ثم سجِّل فيديو توضيحيًا للعملية الكاملة. تراجع Google هذا الفيديو أثناء عملية الإعداد في الخطوة 5.

الخطوات في هذه الصفحة

المراجع الأساسية للاختبار

بيانات الاعتماد والسمات المتوافقة

يمكنك الاطّلاع على معرّفات doctype_value الدقيقة ومسارات المطالبات المتوافقة مع رخص القيادة على الأجهزة الجوّالة وبطاقات الهوية الرقمية ومستندات التعريف التي تحمل صورة.

جهات الإصدار المتوافقة وشهادات IACA

نزِّل شهادات الجذر الخاصة بجهة إصدار شهادات IACA في بيئة الإنتاج وشهادة Utopia Sandbox.

أداة التحقّق التفاعلية من الويب

قارِن عملية الدمج جنبًا إلى جنب مع أداة التحقّق المرجعية المستضافة من OpenWallet Foundation.


الخطوة أ: التحقّق من إعدادات اختبار وضع الحماية

تأكَّد من استيفاء هذه المتطلبات الأساسية الأربعة قبل إجراء الاختبار الشامل:

  1. جهاز في وضع الحماية مع بطاقة تعريف اختبارية: يتم تبديل جهاز Android الاختباري إلى وضع الحماية (الخطوة 1) ويحتوي على بطاقة هويّة رقمية من Utopia تمت إضافتها في "محفظة Google" (الخطوة 2).
  2. توقيع طلبات وضع الحماية:
  3. يتضمّن الطلب نوع مستند بطاقة الهوية الرقمية: بما أنّ مستند التعريف التجريبي في وضع الحماية هو بطاقة هوية رقمية، يطلب تطبيقك dcql_query com.google.wallet.idcard.1 أو org.iso.23220.photoid.1 (أو يستخدم طلب بيانات الاعتماد المتعدّدة من الخطوة 3-أ).
  4. يثق الخادم في شهادة Utopia Sandbox: يتضمّن مخزن شهادات الجذر الموثوق بها في الخادم شهادة Utopia Sandbox لذلك تنجح عملية التحقّق من توقيع issuerAuth لرقم تعريف اختبار Utopia.

الخطوة ب: اختبار الطلب وتجربة المستخدم ومعالجة الأخطاء

أجرِ كل عملية من عمليات التحقّق التالية على كل منصة تتيحها (تطبيق Android والويب على الأجهزة الجوّالة والويب على أجهزة الكمبيوتر المكتبي):

  • نقطة دخول مرئية: زر واضح (مثل "التحقّق باستخدام مستند تعريف الهوية الرقمي") يبدأ الطلب عند نقر المستخدم عليه.
  • تطبيق Android (إذا كان ذلك منطبقًا): يفتح CredentialManager.getCredential() أداة اختيار بيانات الاعتماد في Android ويعرض بطاقة الهوية الرقمية في وضع الحماية.
  • الويب (إذا كان ذلك منطبقًا): يفتح navigator.credentials.get() أداة اختيار بيانات الاعتماد على متصفّحات الأجهزة الجوّالة، ويعرض رمز الاستجابة السريعة على متصفّحات أجهزة الكمبيوتر المكتبي عند استخدام الطلبات الموقَّعة.
  • شاشة طلب الموافقة في "محفظة Google": يؤدي النقر على بيانات الاعتماد إلى فتح "محفظة Google" وعرض الاسم المعروض والشعار ورابط سياسة الخصوصية المتوقّعة من gw_rp_metadata_bytes، بالإضافة إلى السمات التي طلبتها فقط.
  • تضييق نطاق جمع البيانات: يتم طلب السمات المطلوبة لحالة الاستخدام فقط (يُرجى الاطّلاع على بيانات الاعتماد والسمات المتوافقة)، ويتم ضبط intent_to_retain بدقة لكل مطالبة.
  • إلغاء المستخدم والحلّ البديل: يتم التعامل مع إلغاء ورقة البيانات (GetCredentialCancellationException على Android أو رفض الوعد على الويب) أو الاختبار بدون رقم تعريف مطابق (NoCredentialException) بسلاسة في واجهة المستخدم.

الخطوة ج: اختبار فك التشفير من جهة الخادم والتحقّق من التشفير

بعد الموافقة على شاشة طلب الموافقة في "محفظة Google"، تأكَّد من أنّ الخادم يُجري جميع عمليات التحقّق المطلوبة من التشفير:

  • فك تشفير JWE: يفك الخادم تشفير identityToken الذي تم عرضه باستخدام المفتاح الخاص المطابق للمفتاح العام لتشفير client_metadata.jwks ويستخرج vp_token.
  • إعادة إنشاء SessionTranscript: يعيد الخادم إنشاء SessionTranscript باستخدام OpenID4VPDCAPIHandover مع nonce الطلب الدقيق وبصمة JWK للتشفير ومصدر النظام الأساسي (android:apk-key-hash:... أو عنوان URL المصدر على الويب).
  • التحقّق من صحة سلسلة شهادات IACA‏ (issuerAuth): يستخرج الخادم سلسلة شهادات جهة الإصدار من issuerAuth ويتحقّق من صحتها مقارنةً بـ شهادة Utopia Sandbox في وضع الحماية، ومقارنةً بشهادات الجذر الرسمية للإصدار العلني في جهات الإصدار المعتمَدة وشهادات IACA للإصدار العلني. لا تتخطَّ هذه الخطوة أبدًا.
  • التحقّق من عنصر أمان الأجهزة الجوّالة (MSO) وValueDigests وdeviceSignature: يتحقّق الخادم من توقيع عنصر أمان الأجهزة الجوّالة (MSO)، ويؤكّد تطابق ValueDigests مع عناصر البيانات التي تم عرضها، ويتحقّق من صحة deviceSignature (القسمان 9.1.2 و9.1.3 من معيار ISO/IEC 18013-5).
  • إثباتات المعرفة الصفرية (في حال تنفيذها): في حال طلب mso_mdoc_zk، يتحقّق الخادم من صحة الإثبات الذي تم عرضه باستخدام longfellow-zk.

الخطوة الرابعة: تسجيل فيديو توضيحي شامل

بعد اجتياز عملية الدمج للخطوتَين "ب" و"ج"، سجِّل فيديو للشاشة يوضّح تجربة المستخدم الكاملة من تطبيقك أو موقعك الإلكتروني من خلال موافقة "محفظة Google" والعودة إلى الحالة التي تم التحقّق منها. يوضّح الجدول التالي ما يجب تضمينه استنادًا إلى مسار الإعداد:

متطلبات الفيديو جهات الاعتماد (مباشرة) جهات تسجيل التحقّق (مواقع تجميع المحتوى)
الشاشات المطلوب عرضها تجربة المستخدم الكاملة: شاشة الدخول ← أداة اختيار بيانات الاعتماد ← الموافقة والمصادقة في "محفظة Google" ← النتيجة التي تم التحقّق منها في تطبيقك أو موقعك الإلكتروني تجربة المستخدم الكاملة لـ "الجهة المعتمدة" الأولية (الأولى) في المراحل اللاحقة
التدفقات التي يجب تسجيلها مسار دمج تطبيق Android و/أو الويب كلّ من عمليات التحقّق التي يستضيفها جهة التحقّق (الاستضافة الذاتية) والتي يستضيفها التاجر (الاستضافة من قِبل الطرف المعتمِد)، حسب الاقتضاء
مواد العرض الخاصة بالعلامة التجارية والعرض الاسم المعروض الفعلي والشعار وعناوين URL لسياسة الخصوصية وبنود الخدمة مواد العرض الفعلية التي يعرضها التاجر (الاسم والشعار وعنوان URL لبنود الخدمة) ومواد العرض التي يعرضها المجمّع

الخطوة التالية

اختَر مسار الإعداد لإرسال الفيديو وإطلاقه في مرحلة الإنتاج: