第 2 步:在沙盒中创建测试 ID

借助测试 ID,您可以运行完整的出示流程,并验证您的服务是否接受和验证 Google 钱包响应,而无需使用由政府签发的真实身份证件。您可以通过在沙盒设备上将模拟电子护照扫描到 Google 钱包中来创建测试 ID。

本页中的步骤

第 A 步:设置两部 Android 设备

您需要两部 Android 设备:第一部设备模拟电子护照,第二部设备用于添加从模拟电子护照派生的身份证件。

使用两部支持 NFC 的 Android 手机将 Utopia 测试身份证件添加到 Google 钱包的三步流程

要求 设备 1:护照模拟器 设备 2:您的测试 Google 钱包
角色 模拟 NFC 电子护照 在 Google 钱包中持有测试身份证件
设置步骤
  1. 安装 Utopia ePassport Simulator 应用。
  2. 打开应用并添加新的护照条目。您将在第 B 步中扫描此条目。
  1. 从 Play 商店安装或更新 Google 钱包应用。
  2. 验证 Google Play 服务版本是否为 24.38.xx 或更高版本(如何查看)。
  3. 验证设备不是调试设备或已取得 root 权限的设备。
  4. 将 Google 钱包切换到沙盒环境(在个人设备上执行此操作会删除现有的生产数据)。
  5. 使用 @gmail.com Google 账号登录。

第 B 步:将测试 ID 添加到 Google 钱包

  1. 在设备 2 上,打开 Google 钱包应用,然后点按添加到钱包。
  2. 依次选择身份证件 > 身份证件。
  3. 按照屏幕上的说明完成操作:
    1. MRZ 扫描:在设备 1 上,点按您之前在模拟器应用中创建的条目,然后在设备 2 上手动输入护照详细信息。
    2. NFC 扫描:在 NFC 扫描期间,将设备 1(打开模拟器应用的 MRZ 页面)贴在设备 2 的背面。

步骤 C:在 Google 钱包中查看详细信息

  1. 将身份证件添加到 Google 钱包后,点按右上角的三点状菜单,然后选择身份证件信息。
  2. 点按列出的选项,验证它们是否按预期运行,尤其是打开卡券详细信息部分,确认属性与您创建的条目是否一致。

第 D 步:在请求中使用测试 ID

您的沙盒测试 ID 是身份证件。为了让 Google 钱包能够匹配并显示该凭证,您的 OpenID4VP dcql_query 必须请求身份证件类型:

  • com.google.wallet.idcard.1(身份证件)或
  • org.iso.23220.photoid.1(使用 ISO 带照片身份证件文档类型的身份证件)

仅请求移动驾照 (org.iso.18013.5.1.mDL) 的请求将与 Utopia 测试身份证件不匹配。如需接受任何符合条件的凭证,请使用第 3.A 步:设置请求格式中的多凭证 dcql_query 示例,并查看支持的凭证和属性,了解可用的声明路径。

分两个阶段测试新的身份证件:

  1. 使用 Web 验证工具进行快速检查:在设备 2(或桌面浏览器,用于跨设备二维码测试)上打开 verifier.multipaz.org,然后请求身份证件。这样可以确认您的设备和测试身份证件在您测试自己的代码之前能够正常运行。
  2. 针对您自己的服务进行测试:完成第 3 步后,发送使用沙盒测试密钥(信赖方)或沙盒根 CA(验证器注册机构)签名的请求,并将您的服务器配置为根据 Utopia 沙盒证书验证 issuerAuth。

问题排查

问题 检查事项
“设置”中缺少 TapAndPay Environment 您的 Google 账号尚未列入沙盒许可清单。请参阅第 1.A 步:请求沙盒访问权限。
添加到钱包下未显示身份证件选项 确认设备 2 处于沙盒模式(第 1.C 步),已使用 @gmail.com 账号登录,未启用 root/调试,并且运行的是 Play 服务 24.38.xx 或更高版本。
测试请求时显示“没有可用的数字身份证件” 确认您的请求中包含 com.google.wallet.idcard.1 或 org.iso.23220.photoid.1,并且设备 2 仍处于沙盒模式。
在 Google 钱包权限请求页面之前请求失败 验证您的 JWS 签名、x5c 证书标头、client_id (x509_hash) 和 gw_rp_metadata_bytes。

从 Google 钱包中删除测试身份证件

点按身份证件界面右上角的三点状菜单,选择删除,然后按照提示移除测试身份证件。

下一步