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.
Scegli il tuo percorso RP, Verifier Registrar o di persona
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:
- 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).
- 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_bytescon codifica CBOR (Passaggio 3.A: specifiche VR).
- La richiesta include un doctype di pass ID:poiché l'ID di test della sandbox è un pass ID, la tua
dcql_queryrichiedecom.google.wallet.idcard.1oorg.iso.23220.photoid.1(o utilizza la richiesta con più credenziali del passaggio 3.A). - 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
issuerAuthva 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 (
GetCredentialCancellationExceptionsu 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
identityTokenrestituito utilizzando la chiave privata corrispondente alla chiave pubblica di crittografiaclient_metadata.jwksed estrae ilvp_token. - Ricostruzione di
SessionTranscript:il tuo server ricostruisceSessionTranscriptutilizzandoOpenID4VPDCAPIHandovercon la richiesta esattanonce, 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 daissuerAuthe 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,
ValueDigestsedeviceSignature: il tuo server verifica la firma del Mobile Security Object (MSO), conferma cheValueDigestscorrisponda agli elementi di dati restituiti e convalidadeviceSignature(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: