Etapa 4: testar a integração

Antes de entrar em produção, verifique se a integração funciona de ponta a ponta no sandbox usando seu passe de identificação de teste e grave um vídeo de demonstração do fluxo completo. O Google analisa esse vídeo durante a integração na Etapa 5.

Etapas nesta página

Referências essenciais de teste

Credenciais e atributos aceitos

Confira os identificadores doctype_value exatos e os caminhos de declaração aceitos em mDLs, passes de identificação e documentos de identificação com foto.

Emissores aceitos e certificados da IACA

Faça o download dos certificados raiz da IACA do emissor de produção e do certificado do Utopia Sandbox.

Ferramenta interativa de verificação da Web

Compare sua integração lado a lado com o verificador de referência hospedado da OpenWallet Foundation.


Etapa A: verificar a configuração do teste de sandbox

Confirme se esses quatro pré-requisitos estão em vigor antes de executar o teste de ponta a ponta:

  1. Dispositivo no modo de sandbox com um ID de teste:seu dispositivo de teste Android foi trocado para SANDBOX (Etapa 1) e tem um passe de identificação da Utopia adicionado à Carteira do Google (Etapa 2).
  2. Assinatura de solicitação de sandbox:
    • Partes confiáveis:seu servidor assina solicitações com o par de chaves e metadados de teste do sandbox pré-confiáveis.
    • Registradores de verificadores:o Google confirmou que sua CA raiz de sandbox está no repositório de confiança de sandbox, e seu servidor assina solicitações assinadas com um certificado de folha encadeado à sua CA raiz de sandbox e inclui seu gw_rp_metadata_bytes codificado em CBOR (Etapa 3.A: especificações de VR).
  3. A solicitação inclui um tipo de documento de passe de identificação:como o ID de teste do sandbox é um passe de identificação, suas solicitações dcql_query com.google.wallet.idcard.1 ou org.iso.23220.photoid.1 (ou usam a solicitação de várias credenciais da Etapa 3.A).
  4. O servidor confia no certificado do Utopia Sandbox:o repositório de confiança do seu servidor inclui o certificado do Utopia Sandbox, então a verificação de assinatura do issuerAuth é bem-sucedida para o ID de teste do Utopia.

Etapa B: testar a solicitação, a experiência do usuário e o tratamento de erros

Faça cada uma das seguintes verificações em todas as plataformas compatíveis (app Android, web para dispositivos móveis e web para computadores em vários dispositivos):

  • Ponto de entrada visível:um botão claro (como "Verificar com documento de identificação digital") inicia a solicitação quando o usuário toca/clica nele.
  • App Android (se aplicável): o CredentialManager.getCredential() abre o seletor de credenciais do Android e mostra o passe de identificação de teste do sandbox.
  • Web (se aplicável): o navigator.credentials.get() abre o seletor de credenciais em navegadores para dispositivos móveis e mostra o QR code entre dispositivos em navegadores para computador ao usar solicitações assinadas.
  • Tela de permissão da Carteira do Google:tocar na credencial abre a Carteira do Google e mostra o nome de exibição, o logotipo e o link da Política de Privacidade esperados do seu gw_rp_metadata_bytes, além dos atributos que você pediu.
  • Minimização de dados:apenas os atributos necessários para seu caso de uso são solicitados (consulte Credenciais e atributos compatíveis), e intent_to_retain é definido com precisão para cada declaração.
  • Cancelamento e substituição do usuário:o cancelamento da página (GetCredentialCancellationException no Android ou uma promessa rejeitada na Web) ou o teste sem um ID correspondente (NoCredentialException) é processado de forma adequada na interface.

Etapa C: testar a descriptografia do lado do servidor e a validação criptográfica

Depois de aprovar a tela de permissão na Carteira do Google, verifique se o servidor realiza todas as verificações criptográficas necessárias:

  • Descriptografia JWE:seu servidor descriptografa o identityToken retornado usando a chave privada correspondente à chave pública de criptografia client_metadata.jwks e extrai o vp_token.
  • Reconstrução de SessionTranscript:seu servidor reconstrói o SessionTranscript usando OpenID4VPDCAPIHandover com a solicitação exata nonce, a impressão digital JWK de criptografia e a origem da plataforma (android:apk-key-hash:... ou URL de origem da Web).
  • Validação da cadeia de certificados da IACA (issuerAuth): seu servidor extrai a cadeia de certificados do emissor de issuerAuth e a valida em relação ao certificado do Utopia Sandbox no sandbox e aos certificados raiz de produção oficiais em Emissores compatíveis e certificados da IACA para produção. Nunca pule essa verificação.
  • Verificação de MSO, ValueDigests e deviceSignature:seu servidor verifica a assinatura do objeto de segurança para dispositivos móveis (MSO, na sigla em inglês), confirma se o ValueDigests corresponde aos elementos de dados retornados e valida o deviceSignature (seções 9.1.2 e 9.1.3 da ISO/IEC 18013-5).
  • Provas de conhecimento zero (se implementadas): se você solicitar mso_mdoc_zk, seu servidor vai validar a prova retornada usando longfellow-zk.

Etapa D: gravar o vídeo de demonstração de ponta a ponta

Depois que a integração passar pelas etapas B e C, grave um vídeo de captura de tela demonstrando a jornada completa do usuário, desde o app ou site até o consentimento da Carteira do Google e de volta ao estado verificado. A tabela a seguir mostra o que incluir com base no seu caminho de integração:

Requisito de vídeo Partes confiáveis (diretas) Registradores de verificação (agregadores)
Telas para mostrar Jornada completa do usuário: tela de entrada → seletor de credenciais → consentimento e autenticação da Carteira do Google → resultado verificado no seu app ou site Jornada completa do usuário para a primeira parte confiável downstream
Fluxos para registrar Seu app Android e/ou fluxo de integração da Web Fluxos hospedados pelo verificador (auto-hospedados) e hospedados pelo comerciante (hospedados pela parte confiável), conforme aplicável
Recursos de branding e display O nome de exibição, o logotipo e os URLs da Política de Privacidade / Termos de Serviço reais Recursos de exibição reais do comerciante (nome, logotipo, URL dos Termos de Serviço) e recursos de exibição do agregador

Próxima etapa

Escolha seu caminho de integração para enviar o vídeo e lançar em produção: