Прежде чем запускать интеграцию в рабочей среде, убедитесь, что она работает от начала до конца в изолированной среде, используя цифровое удостоверение. Затем запишите демонстрационное видео всего процесса. Google проверит это видео на пятом шаге регистрации.
Выберите способ Полагающаяся сторона, регистратор или личная встреча
Инструкции на этой странице
Основные справочные материалы по тестированию
Поддерживаемые учетные данные и атрибуты
Проверьте, какие идентификаторы doctype_value и пути к утверждениям поддерживаются в mDL, цифровых удостоверениях и удостоверениях личности с фотографией.
Поддерживаемые эмитенты и сертификаты IACA
Скачайте корневые сертификаты IACA для эмитентов и сертификат Utopia Sandbox.
Интерактивный инструмент проверки веб-страниц
Сравните свою интеграцию с размещенным эталонным верификатором OpenWallet Foundation.
Шаг А. Проверьте настройки тестовой среды
Прежде чем запускать сквозное тестирование, убедитесь, что выполнены следующие четыре условия:
- Устройство в режиме изолированной среды с тестовым удостоверением. На тестовом устройстве Android включен режим SANDBOX (шаг 1), а в Google Кошелек добавлено цифровое удостоверение Utopia (шаг 2).
- Подписание запросов в тестовой среде:
- Полагающиеся стороны. Ваш сервер подписывает запросы с помощью предварительно доверенной пары тестовых ключей и метаданных тестовой среды.
- Регистраторы верификаторов. Google подтверждает, что корневой ЦС вашей тестовой среды находится в хранилище доверия тестовой среды, а ваш сервер подписывает запросы сертификатом конечного субъекта, связанным с корневым ЦС тестовой среды, и включает ваш закодированный в CBOR
gw_rp_metadata_bytes(шаг 3.A: спецификации регистраторов верификаторов).
- Запрос включает тип документа цифровое удостоверение. Поскольку тестовое цифровое удостоверение в изолированной среде – это цифровое удостоверение, ваш запрос
dcql_querycom.google.wallet.idcard.1илиorg.iso.23220.photoid.1(или использует запрос нескольких учетных данных из шага 3.A). - Сервер доверяет сертификату Utopia Sandbox. В хранилище доверия вашего сервера есть сертификат Utopia Sandbox, поэтому проверка подписи
issuerAuthдля тестового идентификатора Utopia проходит успешно.
Шаг Б. Протестируйте запрос, пользовательский интерфейс и обработку ошибок
Выполните следующие проверки на каждой поддерживаемой платформе (приложение для Android, мобильный сайт и сайт для компьютеров):
- Заметная точка входа. Четкая кнопка (например, Подтвердить с помощью цифрового удостоверения личности), которая инициирует запрос при нажатии.
- Приложение для Android (если применимо).
CredentialManager.getCredential()открывает окно выбора учетных данных Android и показывает тестовое цифровое удостоверение из песочницы. - Веб-версия (если применимо).
navigator.credentials.get()открывает окно выбора учетных данных в мобильных браузерах и показывает QR-код для разных устройств в браузерах для компьютеров, если используются подписанные запросы. - Окно запроса доступа Google Кошелька. При нажатии на удостоверение открывается Google Кошелек и показываются отображаемое название, логотип и ссылка на политику конфиденциальности из
gw_rp_metadata_bytes, а также только запрошенные вами атрибуты. - Минимизация данных. Запрашиваются только атрибуты, необходимые для вашего сценария использования (см. раздел Поддерживаемые удостоверения и атрибуты), и для каждого утверждения точно задано значение
intent_to_retain. - Отмена пользователем и резервный вариант. Отмена окна (
GetCredentialCancellationExceptionна Android или отклоненное обещание в веб-версии) или тестирование без соответствующего идентификатора (NoCredentialException) корректно обрабатываются в интерфейсе.
Шаг 3. Протестируйте расшифровку и криптографическую проверку на стороне сервера
После одобрения окна запроса доступа в Google Кошельке убедитесь, что ваш сервер выполняет все необходимые криптографические проверки:
- Расшифровка JWE. Ваш сервер расшифровывает возвращенный объект
identityTokenс помощью закрытого ключа, соответствующего открытому ключу шифрованияclient_metadata.jwks, и извлекает объектvp_token. - Восстановление
SessionTranscript. Ваш сервер восстанавливаетSessionTranscriptс помощьюOpenID4VPDCAPIHandover, используя точный запросnonce, отпечаток JWK шифрования и источник платформы (android:apk-key-hash:...или URL источника). - Проверка цепочки сертификатов IACA (
issuerAuth). Сервер извлекает цепочку сертификатов издателя изissuerAuthи проверяет ее на соответствие сертификату Utopia Sandbox в тестовой среде и официальным корневым сертификатам в разделе Поддерживаемые издатели и сертификаты IACA в рабочей среде. Никогда не пропускайте этот шаг. - Проверка MSO,
ValueDigestsиdeviceSignature. Сервер проверяет подпись объекта мобильной безопасности (MSO), подтверждает, чтоValueDigestsсоответствует возвращенным элементам данных, и проверяетdeviceSignature(ISO/IEC 18013-5, разделы 9.1.2 и 9.1.3). - Доказательства с нулевым разглашением (если реализованы). Если запрашивается
mso_mdoc_zk, ваш сервер проверяет возвращенное доказательство с помощью longfellow-zk.
Шаг 4. Запишите видео с демонстрацией работы приложения
После того как вы выполните шаги B и C, запишите видео, на котором показан весь путь пользователя: от вашего приложения или сайта до согласия в Google Кошельке и обратно в подтвержденное состояние. В таблице ниже указано, что нужно включить в зависимости от выбранного способа регистрации.
| Требования к видео | Полагающиеся стороны (прямые) | Регистраторы, выполняющие проверку (агрегаторы) |
|---|---|---|
| Показываемые экраны | Полный путь пользователя: экран входа → выбор удостоверения → согласие и аутентификация в Google Кошельке → подтвержденный результат в вашем приложении или на сайте. | Полный путь пользователя для первой последующей полагающейся стороны |
| Какие переходы нужно записать | Процесс интеграции приложения для Android и/или сайта. | Оба процесса, если применимо: размещенный у верификатора (самостоятельно) и размещенный у продавца (размещенный у проверяющей стороны). |
| Объекты для брендинга и медийной рекламы | фактическое отображаемое название, логотип и URL политики конфиденциальности и условий использования; | Объекты, которые будут показываться пользователям (название, логотип, URL Условий использования), и объекты агрегатора. |
Дальнейшие действия
Выберите способ ознакомления, чтобы отправить видео и запустить его в рабочей версии.