Schritt 4: Integration testen

Bevor Sie die Integration in der Produktion live schalten, sollten Sie mit Ihrem digitalen Identitätsnachweis prüfen, ob sie in der Sandbox durchgängig funktioniert. Nehmen Sie dann ein Demonstrationsvideo des gesamten Ablaufs auf. Google prüft dieses Video während des Onboardings in Schritt 5.

Schritte auf dieser Seite

Wichtige Referenzen für Tests

Unterstützte Anmeldedaten und Attribute

Prüfen Sie die genauen doctype_value-Kennungen und Anspruchspfade, die für mDLs, digitale Identitätsnachweise und Lichtbildausweise unterstützt werden.

Unterstützte Aussteller und IACA-Zertifikate

Laden Sie die IACA-Root-Zertifikate des Produktionsausstellers und das Utopia-Sandbox-Zertifikat herunter.

Interaktives Web-Verifier-Tool

Vergleichen Sie Ihre Integration mit dem gehosteten Referenzprüfer der OpenWallet Foundation.


Schritt A: Sandbox-Testeinrichtung überprüfen

Prüfen Sie, ob die folgenden vier Voraussetzungen erfüllt sind, bevor Sie den End-to-End-Test ausführen:

  1. Gerät im Sandbox-Modus mit einer Test-ID: Dein Android-Testgerät ist auf SANDBOX umgestellt (Schritt 1) und in Google Wallet wurde ein Utopia-digitaler Identitätsnachweis hinzugefügt (Schritt 2).
  2. Signieren von Sandbox-Anfragen:
    • Relying Parties: Ihr Server signiert Anfragen mit dem vorab vertrauenswürdigen Sandbox-Testschlüsselpaar und den Metadaten.
    • Verifier Registrars: Google hat bestätigt, dass sich Ihre Sandbox-Root-Zertifizierungsstelle im Sandbox-Trust Store befindet und Ihr Server signierte Anfragen mit einem untergeordneten Zertifikat signiert, das mit Ihrer Sandbox-Root-Zertifizierungsstelle verkettet ist und Ihre CBOR-codierte gw_rp_metadata_bytes enthält (Schritt 3.A: VR-Spezifikationen).
  3. Anfrage enthält einen Doctype für einen digitalen Identitätsnachweis: Da die Sandbox-Test-ID ein digitaler Identitätsnachweis ist, fordert Ihre dcql_query com.google.wallet.idcard.1 oder org.iso.23220.photoid.1 an (oder verwendet die Anfrage mit mehreren Anmeldedaten aus Schritt 3.A).
  4. Server vertraut dem Utopia Sandbox-Zertifikat: Der Trust Store Ihres Servers enthält das Utopia Sandbox-Zertifikat, sodass die Signaturprüfung für die Utopia-Test-ID erfolgreich ist.issuerAuth

Schritt B: Anfrage, Nutzererfahrung und Fehlerbehandlung testen

Führen Sie die folgenden Prüfungen auf jeder Plattform durch, die Sie unterstützen (Android-App, mobiles Web und geräteübergreifendes Web für Computer):

  • Sichtbarer Einstiegspunkt:Eine eindeutige Schaltfläche (z. B. Mit digitaler ID bestätigen) initiiert die Anfrage, wenn der Nutzer darauf tippt oder klickt.
  • Android-App (falls zutreffend): CredentialManager.getCredential() öffnet die Android-Anmeldedatenauswahl und zeigt Ihren Sandbox-Test-digitalen Identitätsnachweis an.
  • Web (falls zutreffend): navigator.credentials.get() öffnet die Auswahl für Anmeldedaten in mobilen Browsern und zeigt den geräteübergreifenden QR-Code in Desktop-Browsern an, wenn signierte Anfragen verwendet werden.
  • Google Wallet-Zustimmungsbildschirm: Wenn du auf den Berechtigungsnachweis tippst, wird Google Wallet geöffnet und der erwartete Anzeigename, das Logo und der Link zur Datenschutzerklärung aus deinem gw_rp_metadata_bytes werden angezeigt, zusammen mit den von dir angeforderten Attributen.
  • Datenminimierung:Es werden nur die Attribute angefordert, die für Ihren Anwendungsfall erforderlich sind (siehe Unterstützte Ausweise und Attribute). Außerdem wird intent_to_retain für jede Anforderung genau festgelegt.
  • Abbruch durch den Nutzer und Fallback: Das Abbrechen des Sheets (GetCredentialCancellationException unter Android oder ein abgelehnter Promise im Web) oder das Testen ohne ID zum Abgleich (NoCredentialException) wird in deiner Benutzeroberfläche ordnungsgemäß verarbeitet.

Schritt C: Serverseitige Entschlüsselung und kryptografische Validierung testen

Nachdem du den Zustimmungsbildschirm in Google Wallet genehmigt hast, überprüfe, ob dein Server alle erforderlichen kryptografischen Prüfungen durchführt:

  • JWE-Entschlüsselung: Ihr Server entschlüsselt die zurückgegebene identityToken mit dem privaten Schlüssel, der dem öffentlichen Schlüssel für die client_metadata.jwks-Verschlüsselung entspricht, und extrahiert die vp_token.
  • SessionTranscript-Rekonstruktion: Ihr Server rekonstruiert die SessionTranscript mit OpenID4VPDCAPIHandover und der genauen Anfrage nonce, dem JWK-Fingerabdruck für die Verschlüsselung und dem Plattformursprung (android:apk-key-hash:... oder Webursprungs-URL).
  • Validierung der IACA-Zertifikatskette (issuerAuth): Ihr Server extrahiert die Zertifikatskette des Ausstellers aus issuerAuth und validiert sie in der Sandbox mit dem Utopia-Sandbox-Zertifikat und in der Produktion mit den offiziellen Produktions-Root-Zertifikaten unter Unterstützte Aussteller und IACA-Zertifikate. Überspringen Sie diese Prüfung nicht.
  • MSO-, ValueDigests- und deviceSignature-Überprüfung: Ihr Server überprüft die Signatur des Mobile Security Object (MSO), bestätigt, dass die ValueDigests mit den zurückgegebenen Datenelementen übereinstimmen, und validiert die deviceSignature (ISO/IEC 18013-5, Abschnitte 9.1.2 und 9.1.3).
  • Zero-Knowledge-Proofs (falls implementiert): Wenn Sie mso_mdoc_zk anfordern, validiert Ihr Server den zurückgegebenen Proof mit longfellow-zk.

Schritt D: End-to-End-Demonstrationsvideo aufnehmen

Sobald deine Integration die Schritte B und C bestanden hat, nimm ein Video auf, das die gesamte User Journey von deiner App oder Website über die Zustimmung zu Google Wallet und zurück zum bestätigten Status zeigt. In der folgenden Tabelle sehen Sie, was Sie je nach Onboarding-Pfad angeben müssen:

Videoanforderungen Vertrauende Parteien (direkt) Registrare für Verifizierer (Aggregatoren)
Anzuzeigende Bildschirme Vollständige User Journey: Einstiegsbildschirm → Auswahl der Anmeldedaten → Einwilligung und Authentifizierung für Google Wallet → verifiziertes Ergebnis in Ihrer App oder auf Ihrer Website Vollständige User Journey für die erste nachgelagerte vertrauende Seite
Abläufe, die aufgezeichnet werden sollen Ihre Android-App und/oder Ihr Web-Integrationsablauf Sowohl vom Verifizierer gehostete (selbst gehostete) als auch vom Händler gehostete (vom RP gehostete) Abläufe, sofern zutreffend
Branding- und Display-Assets Ihren tatsächlichen Anzeigenamen, Ihr Logo und die URLs Ihrer Datenschutzerklärung und Nutzungsbedingungen Tatsächliche Anzeige-Assets des Händlers (Name, Logo, URL der Nutzungsbedingungen) und Ihre Anzeige-Assets als Aggregator

Nächster Schritt

Wählen Sie Ihren Onboarding-Pfad aus, um Ihr Video einzureichen und in der Produktion zu starten: