Passaggio 4: testa l'integrazione

Prima di passare alla produzione, verifica che l'integrazione funzioni end-to-end nella sandbox utilizzando il tuo pass ID di test, quindi registra un video dimostrativo del flusso completo. Google esamina questo video durante l'onboarding nel passaggio 5.

Passaggi in questa pagina

Riferimenti essenziali per i test

Credenziali e attributi supportati

Controlla gli identificatori doctype_value esatti e i percorsi di rivendicazione supportati per mDL, pass ID e documenti di identità con foto.

Emittenti supportati e certificati IACA

Scarica i certificati radice IACA dell'emittente di produzione e il certificato Utopia Sandbox.

Strumento di verifica web interattivo

Confronta la tua integrazione con il verificatore di riferimento ospitato di OpenWallet Foundation.


Passaggio A: verifica la configurazione del test della sandbox

Prima di eseguire il test end-to-end, verifica che siano soddisfatti questi quattro prerequisiti:

  1. Dispositivo in modalità sandbox con un ID di test:il tuo dispositivo di test Android è passato alla modalità SANDBOX (Passaggio 1) e ha un pass ID Utopia aggiunto in Google Wallet (Passaggio 2).
  2. Firma delle richieste sandbox:
    • Siti attendibili: il tuo server firma le richieste con la coppia di chiavi e i metadati di test della sandbox pre-attendibili.
    • Verifier Registrar: Google ha confermato che la tua CA radice della sandbox si trova nell'archivio di attendibilità della sandbox e che il tuo server firma le richieste con un certificato foglia concatenato alla tua CA radice della sandbox e include il tuo gw_rp_metadata_bytes con codifica CBOR (Passaggio 3.A: specifiche VR).
  3. La richiesta include un doctype di pass ID:poiché l'ID di test della sandbox è un pass ID, la tua dcql_query richiede com.google.wallet.idcard.1 o org.iso.23220.photoid.1 (o utilizza la richiesta con più credenziali del passaggio 3.A).
  4. Il server considera attendibile il certificato Utopia Sandbox:l'archivio di attendibilità del tuo server include il certificato Utopia Sandbox, pertanto la verifica della firma issuerAuth va a buon fine per l'ID di test Utopia.

Passaggio B: testa la richiesta, l'esperienza utente e la gestione degli errori

Esegui ciascuno dei seguenti controlli su ogni piattaforma supportata (app per Android, web mobile e web cross-device per computer):

  • Punto di accesso visibile:un pulsante chiaro (ad esempio "Verifica con ID digitale") avvia la richiesta quando l'utente tocca/fa clic.
  • App per Android (se applicabile): CredentialManager.getCredential() apre il selettore delle credenziali Android e mostra la tessera ID di test della sandbox.
  • Web (se applicabile): navigator.credentials.get() apre il selettore delle credenziali sui browser mobile e visualizza il codice QR cross-device sui browser desktop quando utilizzi le richieste firmate.
  • Schermata per il consenso di Google Wallet:toccando la credenziale si apre Google Wallet e vengono visualizzati il nome visualizzato, il logo e il link alle norme sulla privacy previsti dal tuo gw_rp_metadata_bytes, insieme ai soli attributi richiesti.
  • Minimizzazione dei dati:vengono richiesti solo gli attributi necessari per il tuo caso d'uso (consulta Credenziali e attributi supportati) e intent_to_retain è impostato con precisione per ogni rivendicazione.
  • Annullamento da parte dell'utente e fallback: l'annullamento del foglio (GetCredentialCancellationException su Android o una promessa rifiutata sul web) o il test senza un ID corrispondente (NoCredentialException) vengono gestiti correttamente nella UI.

Passaggio C: testa la decrittografia lato server e la convalida crittografica

Dopo aver approvato la schermata per il consenso in Google Wallet, verifica che il tuo server esegua tutti i controlli crittografici richiesti:

  • Decriptazione JWE: il tuo server decripta il identityToken restituito utilizzando la chiave privata corrispondente alla chiave pubblica di crittografia client_metadata.jwks ed estrae il vp_token.
  • Ricostruzione di SessionTranscript:il tuo server ricostruisce SessionTranscript utilizzando OpenID4VPDCAPIHandover con la richiesta esatta nonce, l'impronta JWK di crittografia e l'origine della piattaforma (android:apk-key-hash:... o URL di origine web).
  • Convalida della catena di certificati IACA (issuerAuth): il tuo server estrae la catena di certificati dell'emittente da issuerAuth e la convalida rispetto al certificato Utopia Sandbox in sandbox e rispetto ai certificati radice di produzione ufficiali in Emittenti supportati e certificati IACA per la produzione. Non saltare mai questo controllo.
  • Verifica di MSO, ValueDigests e deviceSignature: il tuo server verifica la firma del Mobile Security Object (MSO), conferma che ValueDigests corrisponda agli elementi di dati restituiti e convalida deviceSignature (ISO/IEC 18013-5 sezioni 9.1.2 e 9.1.3).
  • Zero-Knowledge Proof (se implementate): se richiedi mso_mdoc_zk, il tuo server convalida la prova restituita utilizzando longfellow-zk.

Passaggio D: registra il video dimostrativo end-to-end

Una volta che l'integrazione ha superato i passaggi B e C, registra un video di acquisizione dello schermo che mostri l'intero percorso dell'utente dalla tua app o dal tuo sito web, passando per il consenso di Google Wallet, fino al ritorno allo stato verificato. La tabella seguente mostra cosa includere in base al percorso di onboarding:

Requisito del video Relying party (dirette) Registrar di verifica (aggregatori)
Schermate da mostrare Percorso dell'utente completo: schermata di accesso → selettore delle credenziali → consenso e autenticazione di Google Wallet → risultato verificato nella tua app o nel tuo sito User journey completo per la prima relying party downstream
Flussi da registrare Il flusso di integrazione della tua app per Android e/o del tuo sito web Flussi ospitati dal verificatore (self-hosted) e ospitati dal commerciante (ospitati dalla RP), a seconda dei casi
Asset di branding e visualizzazione Il nome visualizzato, il logo e gli URL delle norme sulla privacy e dei Termini di servizio effettivi Asset di visualizzazione effettivi del commerciante (nome, logo, URL dei Termini di servizio) e asset di visualizzazione dell'aggregatore

Passaggio successivo

Scegli il percorso di onboarding per inviare il video e lanciarlo in produzione: