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.
Weg auswählen RP, Verifier Registrar oder persönlich
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:
- 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).
- 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_bytesenthält (Schritt 3.A: VR-Spezifikationen).
- Anfrage enthält einen Doctype für einen digitalen Identitätsnachweis: Da die Sandbox-Test-ID ein digitaler Identitätsnachweis ist, fordert Ihre
dcql_querycom.google.wallet.idcard.1oderorg.iso.23220.photoid.1an (oder verwendet die Anfrage mit mehreren Anmeldedaten aus Schritt 3.A). - 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_byteswerden 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_retainfür jede Anforderung genau festgelegt. - Abbruch durch den Nutzer und Fallback: Das Abbrechen des Sheets (
GetCredentialCancellationExceptionunter 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
identityTokenmit dem privaten Schlüssel, der dem öffentlichen Schlüssel für dieclient_metadata.jwks-Verschlüsselung entspricht, und extrahiert dievp_token. SessionTranscript-Rekonstruktion: Ihr Server rekonstruiert dieSessionTranscriptmitOpenID4VPDCAPIHandoverund der genauen Anfragenonce, 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 ausissuerAuthund 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- unddeviceSignature-Überprüfung: Ihr Server überprüft die Signatur des Mobile Security Object (MSO), bestätigt, dass dieValueDigestsmit den zurückgegebenen Datenelementen übereinstimmen, und validiert diedeviceSignature(ISO/IEC 18013-5, Abschnitte 9.1.2 und 9.1.3). - Zero-Knowledge-Proofs (falls implementiert): Wenn Sie
mso_mdoc_zkanfordern, 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: