Identity Credential 开源项目教程
identity-credential 项目地址: https://gitcode.com/gh_mirrors/ide/identity-credential
1. 项目介绍
Identity Credential 是一个开源项目,旨在提供处理现实世界身份的库和应用程序。项目的初始重点是根据 ISO/IEC 18013-5:2021 标准处理 mdoc/mDL(移动驾驶执照),但目前的范围还包括其他凭证格式。
该项目包含以下主要组件:
- identity: 提供核心构建块,也可用于服务器端环境。
- identity-mdoc: 提供处理 mdoc 凭证的数据结构和例程。
- identity-sdjwt: 提供处理 IETF SD-JWT 凭证的数据结构和例程。
- identity-android: 提供 Android 特定的扩展,利用 Android 的硬件支持功能。
- identity-android-legacy: 包含旧版本的 API,适用于尚未迁移到新库的应用程序。
- identity-doctypes: 包含已知的凭证文档类型及其描述和示例数据。
- identity-csa 和 identity-android-csa: 用于实现和与云安全区域通信的库。
2. 项目快速启动
2.1 克隆项目
首先,克隆项目到本地:
git clone https://github.com/openwallet-foundation-labs/identity-credential.git
cd identity-credential
2.2 构建项目
使用 Gradle 构建项目:
./gradlew build
2.3 运行示例应用
项目中包含多个示例应用,例如 preconsent-mdl
和 age-verifier-mdl
。以下是如何运行 preconsent-mdl
示例应用的步骤:
./gradlew :samples:preconsent-mdl:run
3. 应用案例和最佳实践
3.1 移动驾驶执照 (mDL)
Identity Credential 项目特别适用于处理移动驾驶执照 (mDL)。通过使用 identity-mdoc
库,开发者可以轻松实现 mDL 的创建、验证和展示功能。
3.2 云安全区域 (CSA)
项目中的 identity-csa
和 identity-android-csa
库提供了云安全区域的实现。这些库可以帮助开发者创建安全的云存储,用于存储敏感的凭证数据。
3.3 多平台支持
虽然当前项目主要面向 Android 平台,但计划将库和应用扩展到 Kotlin Multiplatform 和 Compose Multiplatform,以支持更多平台。
4. 典型生态项目
4.1 Android 钱包应用
项目中的 appholder
模块提供了一个简单的 Android 钱包应用,支持多种 mdoc 凭证类型。开发者可以通过自定义 wallet/src/customized
目录下的文件来定制应用。
4.2 ISO 18013-7 阅读器网站
wwwverifier
模块包含一个根据 ISO 18013-7 标准实现的 mdoc 阅读器网站。开发者可以通过以下步骤部署该网站:
cd wwwverifier
gradle appengineDeploy
4.3 命令行工具
项目还提供了一个命令行工具 identityctl
,用于生成 ISO/IEC 18013-5:2021 IACA 测试证书等。
./gradlew --quiet runIdentityCtl --args "help"
通过这些模块和工具,开发者可以构建完整的身份凭证处理生态系统。
identity-credential 项目地址: https://gitcode.com/gh_mirrors/ide/identity-credential