認証情報マネージャー Holder API を使用すると、Android ホルダー(「ウォレット」とも呼ばれます)アプリでデジタル認証情報を管理し、検証者に提示できます。
認証情報の形式
認証情報は、さまざまな認証情報形式でホルダーアプリに保存できます。これらの形式は、認証情報の表現方法に関する仕様であり、それぞれに認証情報に関する次の情報が含まれています。
- タイプ: 大学の学位や運転免許証などのカテゴリ。
- プロパティ: 姓名などの属性。
エンコード: 認証情報の構造化方法(SD-JWT、mdoc など)
有効性: 認証情報の真正性を暗号で検証する方法。
各認証情報形式では、エンコードと検証の方法が若干異なりますが、機能的には同じです。
レジストリは次の 2 つの形式をサポートしています。
- SD-JWT: IETF SD-JWT ベースの検証可能な認証情報(SD-JWT VC)仕様に準拠しています。
- モバイル ドキュメント(mdoc): ISO/IEC 18013-5:2021 仕様に準拠しています。
検証者は、認証情報マネージャーを使用するときに、SD-JWT と mdoc の OpenID4VP リクエストを行うことができます。選択内容は、ユースケースと業界の選択によって異なります。
認証情報メタデータの登録
認証情報マネージャーは、所有者の認証情報を直接保存するのではなく、認証情報のメタデータを保存します。ホルダーアプリは、まず RegistryManager を使用して認証情報マネージャーに認証情報メタデータを登録する必要があります。この登録プロセスでは、次の 2 つの主な目的を果たすレジストリ レコードが作成されます。
- 照合: 登録された認証情報のメタデータは、将来の検証リクエストとの照合に使用されます。
- 表示: カスタマイズされた UI 要素が、認証情報セレクタ インターフェースでユーザーに表示されます。
OpenId4VpRegistry クラスを使用してデジタル認証情報を登録します。このクラスは、mdoc と SD-JWT の両方の認証情報形式をサポートしています。検証者は、これらの認証情報をリクエストするために OpenID4VP リクエストを送信します。
認証情報の発行方法
認証情報の発行は、次の 2 つの方法でトリガーできます。
- カード発行会社が開始するフロー: ユーザーがカード発行会社のアプリまたはウェブサイトから VDC の発行リクエストをトリガーします。たとえば、ウェブサイトでユーザーに「パスポートをウォレットに追加する」オプションを提供できます。発行元は、Credential Manager 発行 API を呼び出して、OpenID4VCI 認証情報オファー リクエストを送信します。このようなリクエストを処理するには、ホルダーはまず認証情報マネージャーと統合してメタデータを登録する必要があります。認証情報マネージャーには、ユーザーが選択できる関連オプションが表示されます。ユーザーがホルダー オプションを選択すると、ホルダー アプリケーションが呼び出され、発行を完了するために必要な手順に進むことができます。
- ホルダー主導のフロー: ユーザーがホルダー アプリケーションから VDC の追加をリクエストします。たとえば、ホルダーは「パスポートを追加」ボタンを提供できます。この場合、ホルダーはサポートされている発行元のリストとメタデータを保持します。この機能を完了するために、Android 認証情報マネージャーと統合する必要はありません。