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.
Escolha seu caminho RP, Verifier Registrar ou presencial
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:
- 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).
- 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_bytescodificado em CBOR (Etapa 3.A: especificações de VR).
- 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_querycom.google.wallet.idcard.1ouorg.iso.23220.photoid.1(ou usam a solicitação de várias credenciais da Etapa 3.A). - 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 (
GetCredentialCancellationExceptionno 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
identityTokenretornado usando a chave privada correspondente à chave pública de criptografiaclient_metadata.jwkse extrai ovp_token. - Reconstrução de
SessionTranscript:seu servidor reconstrói oSessionTranscriptusandoOpenID4VPDCAPIHandovercom a solicitação exatanonce, 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 deissuerAuthe 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,
ValueDigestsedeviceSignature:seu servidor verifica a assinatura do objeto de segurança para dispositivos móveis (MSO, na sigla em inglês), confirma se oValueDigestscorresponde aos elementos de dados retornados e valida odeviceSignature(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: