Langkah 4: Uji Integrasi Anda

Sebelum ditayangkan dalam produksi, pastikan integrasi Anda berfungsi secara menyeluruh di sandbox menggunakan tanda pengenal digital pengujian, lalu rekam video demonstrasi alur lengkapnya. Google akan meninjau video ini selama orientasi di Langkah 5.

Langkah-langkah di halaman ini

Referensi pengujian penting

Kredensial & Atribut yang Didukung

Periksa ID doctype_value dan jalur klaim yang tepat yang didukung di mDL, tanda pengenal digital, dan Tanda Pengenal Berfoto.

Penerbit & Sertifikat IACA yang Didukung

Download root certificate IACA penerbit produksi dan sertifikat Utopia Sandbox.

Alat Verifikasi Web Interaktif

Bandingkan integrasi Anda secara berdampingan dengan pemverifikasi referensi yang dihosting OpenWallet Foundation.


Langkah A: Verifikasi penyiapan pengujian sandbox Anda

Pastikan keempat prasyarat ini terpenuhi sebelum menjalankan pengujian end-to-end:

  1. Perangkat dalam mode sandbox dengan ID pengujian: Perangkat pengujian Android Anda dialihkan ke SANDBOX (Langkah 1) dan memiliki tanda pengenal digital Utopia yang ditambahkan di Google Wallet (Langkah 2).
  2. Penandatanganan permintaan sandbox:
    • Pihak Pengandalkan: Server Anda menandatangani permintaan dengan Pasangan Kunci dan Metadata Pengujian Sandbox yang telah dipercaya.
    • Registrar Pemverifikasi: Google telah mengonfirmasi bahwa Root CA Sandbox Anda ada di trust store sandbox, dan server Anda menandatangani permintaan dengan sertifikat entitas akhir yang dirantai ke Root CA Sandbox Anda dan menyertakan gw_rp_metadata_bytes yang dienkode CBOR (Langkah 3.A: Spesifikasi VR).
  3. Permintaan menyertakan doctype tanda pengenal digital: Karena ID pengujian sandbox adalah tanda pengenal digital, dcql_query Anda meminta com.google.wallet.idcard.1 atau org.iso.23220.photoid.1 (atau menggunakan permintaan multi-kredensial dari Langkah 3.A).
  4. Server memercayai sertifikat Utopia Sandbox: Trust store server Anda menyertakan sertifikat Utopia Sandbox sehingga verifikasi tanda tangan issuerAuth berhasil untuk ID pengujian Utopia.

Langkah B: Menguji permintaan, pengalaman pengguna & penanganan error

Lakukan setiap pemeriksaan berikut di setiap platform yang Anda dukung (aplikasi Android, web seluler, dan web lintas perangkat desktop):

  • Titik entri yang terlihat: Tombol yang jelas (seperti "Verifikasi dengan ID Digital") memulai permintaan setelah pengguna mengetuk/mengklik.
  • Aplikasi Android (jika ada): CredentialManager.getCredential() akan membuka pemilih kredensial Android dan menampilkan tanda pengenal digital pengujian sandbox Anda.
  • Web (jika ada): navigator.credentials.get() membuka pemilih kredensial di browser seluler—dan menampilkan kode QR lintas perangkat di browser desktop saat menggunakan Permintaan Bertanda Tangan.
  • Layar izin Google Wallet: Mengetuk kredensial akan membuka Google Wallet dan menampilkan nama tampilan, logo, dan link kebijakan privasi yang diharapkan dari gw_rp_metadata_bytes Anda, beserta hanya atribut yang Anda minta.
  • Minimalisasi data: Hanya atribut yang diperlukan untuk kasus penggunaan Anda yang diminta (lihat Kredensial & Atribut yang Didukung), dan intent_to_retain ditetapkan secara akurat untuk setiap klaim.
  • Pembatalan & penggantian oleh pengguna: Membatalkan sheet (GetCredentialCancellationException di Android atau promise yang ditolak di Web) atau pengujian tanpa ID yang cocok (NoCredentialException) ditangani dengan baik di UI Anda.

Langkah C: Menguji dekripsi sisi server & validasi kriptografis

Setelah menyetujui layar izin di Google Wallet, pastikan server Anda melakukan semua pemeriksaan kriptografis yang diperlukan:

  • Dekripsi JWE: Server Anda mendekripsi identityToken yang ditampilkan menggunakan kunci pribadi yang sesuai dengan kunci publik enkripsi client_metadata.jwks dan mengekstrak vp_token.
  • Rekonstruksi SessionTranscript: Server Anda merekonstruksi SessionTranscript menggunakan OpenID4VPDCAPIHandover dengan permintaan nonce, thumbprint JWK enkripsi, dan origin platform (android:apk-key-hash:... atau URL origin web) yang sama persis.
  • Validasi rantai sertifikat IACA (issuerAuth): Server Anda mengekstrak rantai sertifikat penerbit dari issuerAuth dan memvalidasinya berdasarkan sertifikat Utopia Sandbox di sandbox—dan berdasarkan root certificate produksi resmi di Penerbit & Sertifikat IACA yang Didukung untuk produksi. Jangan pernah melewati pemeriksaan ini.
  • Verifikasi MSO, ValueDigests & deviceSignature: Server Anda memverifikasi tanda tangan Mobile Security Object (MSO), mengonfirmasi bahwa ValueDigests cocok dengan elemen data yang ditampilkan, dan memvalidasi deviceSignature (ISO/IEC 18013-5 bagian 9.1.2 dan 9.1.3).
  • Zero-Knowledge Proof (jika diterapkan): Jika meminta mso_mdoc_zk, server Anda akan memvalidasi bukti yang ditampilkan menggunakan longfellow-zk.

Langkah D: Rekam video demonstrasi menyeluruh Anda

Setelah integrasi Anda lulus Langkah B dan C, rekam video tangkapan layar yang menunjukkan perjalanan pengguna lengkap dari aplikasi atau situs Anda melalui izin Google Wallet dan kembali ke status terverifikasi. Tabel berikut menunjukkan hal yang harus disertakan berdasarkan jalur orientasi Anda:

Persyaratan video Pihak Pengandalkan (Langsung) Registrar Pemverifikasi (Agregator)
Layar yang akan ditampilkan Perjalanan pengguna lengkap: layar entri → pemilih kredensial → izin & autentikasi Google Wallet → hasil terverifikasi di aplikasi atau situs Anda Perjalanan pengguna lengkap untuk Pihak Pengandalkan downstream awal (ke-1) Anda
Alur yang akan dicatat Alur integrasi web dan/atau aplikasi Android Anda Alur yang dihosting pemverifikasi (dihosting sendiri) dan yang dihosting penjual (dihosting RP), sebagaimana berlaku
Aset branding & tampilan Nama tampilan, logo, dan URL kebijakan privasi / Persyaratan Layanan Anda yang sebenarnya Aset tampilan penjual yang sebenarnya (nama, logo, URL Persyaratan Layanan) dan aset tampilan agregator Anda

Langkah berikutnya

Pilih jalur orientasi untuk mengirimkan video dan meluncurkannya dalam produksi: