Antes de lanzar la integración en producción, verifica que funcione de extremo a extremo en la zona de pruebas con tu pase de identificación de prueba y, luego, graba un video de demostración del flujo completo. Google revisa este video durante la capacitación en el paso 5.
Elige tu ruta RP, Verifier Registrar o presencial
Pasos de esta página
Referencias esenciales para las pruebas
Credenciales y atributos compatibles
Verifica los identificadores de doctype_value exactos y las rutas de reclamación admitidas en mDL, pases de identificación y documentos de identidad con foto.
Entidades emisoras y certificados de IACA admitidos
Descarga los certificados raíz de la IACA de la entidad emisora de producción y el certificado de la zona de pruebas de Utopia.
Herramienta interactiva de Web Verifier
Compara tu integración con el verificador de referencia alojado de OpenWallet Foundation.
Paso A: Verifica la configuración de la prueba de la zona de pruebas
Confirma que se cumplan estos cuatro requisitos previos antes de ejecutar la prueba de extremo a extremo:
- Dispositivo en modo de zona de pruebas con un ID de prueba: Tu dispositivo de prueba Android se cambia a ZONA DE PRUEBAS (paso 1) y tiene un pase de identificación de Utopia agregado en la Billetera de Google (paso 2).
- Firma de solicitudes de la zona de pruebas:
- Terceros de confianza: Tu servidor firma las solicitudes con el par de claves y metadatos de prueba de la zona de pruebas de confianza previa.
- Registradores de verificadores: Google confirmó que tu AC raíz de la zona de pruebas está en
el almacén de confianza de la zona de pruebas y que tu servidor firma las solicitudes con un certificado
de hoja encadenado a tu AC raíz de la zona de pruebas y que incluye tu
gw_rp_metadata_bytescodificado en CBOR (Paso 3.A: Especificaciones de VR).
- La solicitud incluye un tipo de documento de pase de identificación: Debido a que el ID de prueba de la zona de pruebas es un pase de identificación, tus solicitudes de
dcql_querycom.google.wallet.idcard.1oorg.iso.23220.photoid.1(o usan la solicitud de varias credenciales del paso 3.A). - El servidor confía en el certificado de la zona de pruebas de Utopia: El almacén de confianza de tu servidor incluye
el certificado de la zona de pruebas de Utopia,
por lo que la verificación de la firma de
issuerAuthse realiza correctamente para el ID de prueba de Utopia.
Paso B: Prueba la solicitud, la experiencia del usuario y el manejo de errores
Realiza cada una de las siguientes verificaciones en todas las plataformas que admitas (app para Android, Web móvil y Web multidispositivo para computadoras de escritorio):
- Punto de entrada visible: Un botón claro (como "Verificar con ID digital") inicia la solicitud cuando el usuario lo presiona o hace clic en él.
- App para Android (si corresponde):
CredentialManager.getCredential()abre el selector de credenciales de Android y muestra tu pase de identificación de prueba de la zona de pruebas. - Web (si corresponde):
navigator.credentials.get()abre el selector de credenciales en los navegadores para dispositivos móviles y muestra el código QR multidispositivo en los navegadores para computadoras cuando se usan solicitudes firmadas. - Pantalla de consentimiento de la Billetera de Google: Cuando se presiona la credencial, se abre la Billetera de Google
y se muestran el nombre visible, el logotipo y el vínculo a la política de privacidad esperados de
tu
gw_rp_metadata_bytes, junto con solo los atributos que solicitaste. - Minimización de datos: Solo se solicitan los atributos necesarios para tu caso de uso (consulta Credenciales y atributos admitidos) y
intent_to_retainse establece con precisión para cada reclamo. - Cancelación y resguardo del usuario: La cancelación de la hoja (
GetCredentialCancellationExceptionen Android o una promesa rechazada en la Web) o las pruebas sin un ID coincidente (NoCredentialException) se controlan de forma correcta en tu IU.
Paso C: Prueba la desencriptación del servidor y la validación criptográfica
Después de aprobar la pantalla de consentimiento en la Billetera de Google, verifica que tu servidor realice todas las verificaciones criptográficas requeridas:
- Desencriptación de JWE: Tu servidor desencripta el
identityTokendevuelto con la clave privada correspondiente a la clave pública de encriptación declient_metadata.jwksy extrae elvp_token. - Reconstrucción de
SessionTranscript: Tu servidor reconstruye elSessionTranscriptconOpenID4VPDCAPIHandovercon lanoncede solicitud exacta, la huella digital de JWK de encriptación y el origen de la plataforma (android:apk-key-hash:...o la URL de origen web). - Validación de la cadena de certificados de la IACA (
issuerAuth): Tu servidor extrae la cadena de certificados de la entidad emisora deissuerAuthy la valida con el certificado de la zona de pruebas de Utopia en la zona de pruebas, y con los certificados raíz de producción oficiales en Entidades emisoras y certificados de la IACA admitidos para producción. Nunca omitas esta verificación. - Verificación de MSO,
ValueDigestsydeviceSignature: Tu servidor verifica la firma del objeto de seguridad móvil (MSO), confirma que elValueDigestscoincida con los elementos de datos devueltos y validadeviceSignature(ISO/IEC 18013-5, secciones 9.1.2 y 9.1.3). - Pruebas de conocimiento cero (si se implementan): Si solicitas
mso_mdoc_zk, tu servidor valida la prueba mostrada con longfellow-zk.
Paso D: Graba tu video de demostración de extremo a extremo
Una vez que tu integración apruebe los pasos B y C, graba un video de captura de pantalla en el que se muestre el recorrido completo del usuario desde tu app o sitio web, pasando por el consentimiento de la Billetera de Google, hasta volver al estado verificado. En la siguiente tabla, se muestra qué incluir según tu ruta de incorporación:
| Requisitos de video | Terceros que confían en la identidad (directos) | Registradores de verificadores (agregadores) |
|---|---|---|
| Pantallas que se mostrarán | Recorrido completo del usuario: pantalla de entrada → selector de credenciales → consentimiento y autenticación de la Billetera de Google → resultado verificado en tu app o sitio | Recorrido del usuario completo para tu primera parte de confianza downstream |
| Flujos que se deben registrar | El flujo de integración web o de tu app para Android | Los flujos alojados por el verificador (autoalojados) y alojados por el comercio (alojados por la parte de confianza), según corresponda |
| Recursos de marca y de la Red de Display | Tu nombre visible, logotipo y URLs de la política de privacidad y las Condiciones del Servicio reales | Recursos gráficos reales del comercio (nombre, logotipo y URL de las Condiciones del Servicio) y tus recursos gráficos del agregador |
Próximo paso
Elige tu ruta de incorporación para enviar tu video y lanzarlo en producción: