EUDI Wallet Kit library for iOS
Overview
The eudi-lib-ios-wallet-kit repository contains the EUDI Wallet Kit library for iOS. The library is part of the EUDI Wallet Reference Implementation project.
This library acts as a coordinator, by orchestrating the various components that are required to implement the EUDI Wallet functionality. On top of that, it provides a simplified API that can be used by the application to implement the EUDI Wallet functionality.
graph TD;
A[eudi-lib-ios-wallet-kit]
B[eudi-lib-ios-wallet-storage] --> |Wallet Storage|A
C[eudi-lib-ios-iso18013-data-transfer] --> |Transfer Manager|A
D[eudi-lib-ios-openid4vci-swift] --> |OpenId4Vci Manager|A
E[eudi-lib-ios-siop-openid4vp-swift] --> |OpenId4Vp Manager|A
F[eudi-lib-ios-iso18013-security] --> |Mdoc Security|C
G[eudi-lib-ios-iso18013-data-model] --> |Mdoc Data Model|C
H[eudi-lib-ios-presentation-exchange-swift] --> E
The library provides the following functionality:
- Document management
- ✅ Storage encryption
- ✅ Using iOS Secure Enclave for generating/storing documents' keypair
- ✅ Enforcing device user authentication when retrieving documents' private keys
- Document issuance
- Support for OpenId4VCI document issuance
- ✅ Authorization Code Flow
- ✅ Pre-authorization Code Flow
- ✅ Support for mso_mdoc format
- ✅ Support for sd-jwt-vc format
- ✅ Support credential offer
- ✅ Support for DPoP JWT in authorization
- ✅ Support for JWT and CWT proof types
- ✅ Support for deferred issuing
- Support for OpenId4VCI document issuance
- Proximity document presentation
- Support for ISO-18013-5 device retrieval
- ✅ QR device engagement
- ✅ BLE data transfer
- Support for ISO-18013-5 device retrieval
- Remote document presentation
- OpenId4VP document transfer
- ✅ For pre-registered verifiers
- ✅ Dynamic registration of verifiers
- OpenId4VP document transfer
The library is written in Swift and is compatible with iOS 14 or higher. It is distributed as a Swift package and can be included in any iOS project.
It is based on the following specifications:
- ISO/IEC 18013-5 – Published
- Presentation Exchange v2.0.0 - Published
- OpenID4VP – Version 1.0