О хранении цифровых удостоверений

Holder API Менеджера учетных данных позволяет приложению-держателю (также называемому кошельком) на Android управлять цифровыми учетными данными и предоставлять их проверяющим.

Изображение, на котором показан интерфейс цифровых удостоверений в Менеджере учетных данных
Рисунок 1. Интерфейс выбора цифровых удостоверений.

Форматы учетных данных

Удостоверения могут храниться в приложениях-кошельках в разных форматах. Эти форматы представляют собой спецификации того, как должны быть представлены учетные данные, и каждый из них содержит следующую информацию об учетных данных:

  • Тип. Категория, например диплом университета или водительское удостоверение.
  • Свойства. Атрибуты, такие как имя и фамилия.
  • Кодировка. Способ структурирования удостоверения, например SD-JWT или mdoc.

  • Срок действия. Метод криптографической проверки подлинности учетных данных.

В каждом формате кодирование и проверка выполняются по-разному, но функционально они одинаковы.

Реестр поддерживает два формата:

При использовании Менеджера учетных данных проверяющая сторона может отправить запрос OpenID4VP для SD-JWT и mdoc. Выбор зависит от варианта использования и отрасли.

Регистрация метаданных учетных данных

Менеджер учетных данных хранит не сами учетные данные, а их метаданные. Приложение-хранилище должно сначала зарегистрировать метаданные учетных данных в Менеджере учетных данных с помощью RegistryManager. В процессе регистрации создаётся запись, которая служит двум основным целям:

  • Сопоставление. Метаданные зарегистрированного удостоверения используются для сопоставления с будущими запросами проверяющих сторон.
  • Отображение. Настроенные элементы интерфейса показываются пользователю в интерфейсе выбора учетных данных.

Для регистрации цифровых удостоверений используйте класс OpenId4VpRegistry, так как он поддерживает форматы mdoc и SD-JWT. Для запроса этих учетных данных проверяющие будут отправлять запросы OpenID4VP.

Способы выдачи учетных данных

Выпуск учетных данных можно запустить двумя способами:

  • Процесс, инициированный эмитентом. Пользователь запрашивает выпуск виртуальной карты в приложении или на сайте эмитента. Например, на сайте может быть кнопка "Добавить паспорт в Кошелек". Эмитент вызывает API выдачи Менеджера учетных данных, чтобы отправить запрос на предложение учетных данных OpenID4VCI. Чтобы обрабатывать такие запросы, держатель должен сначала интегрироваться с Менеджером учетных данных и зарегистрировать свои метаданные. Менеджер учетных данных покажет пользователю подходящие варианты. После того как пользователь выберет приложение, оно будет запущено и сможет выполнить необходимые действия для завершения выпуска.
  • Процесс, инициированный держателем. Пользователь запрашивает добавление виртуальной карты из приложения держателя. Например, на сайте может быть кнопка "Добавить паспорт". В этом случае держатель поддерживает список эмитентов и метаданные. Для этого не требуется интеграция с Менеджером учетных данных Android.