A-SIT Plus Wallet Demonstrator

Wallet App: Valera

Valera, our open source Kotlin compose multiplatform wallet app, can be installed on your mobile phone as follows:

Android

iOS

Quickstart

Issue Credentials

Present Credentials

Guides

Various use cases can be tested with our wallet demonstrator system, as listed below.


App Wallet Remote Wallet
on same device on different device
Issue Credentials
» via QR demo user - steps -
» via Browser demo user,
IDA w/o 2nd Factor,
IDA with 2nd Factor
steps - (implicitly in presentation)
Present Credentials
» remote to eIDAS2 RP steps steps steps
to IDA RP steps steps steps
» proximity
- steps -
Sign Documents
» Wallet-Centric ad-hoc certificate steps steps steps
pre-loaded certificate steps steps -
» RP-Centric
steps steps steps

Services

Diagram of Wallet Services

Issuing Service

The Issuing Service (M6) implements OpenID for Verifiable Credential Issuance, converting attributes from the national E-ID of Austria (ID Austria) into wallet credentials. Login at the issuing service with ID Austria test credentials (or use your national E-ID via eIDAS) to generate a QR Code containing a credential offer for your Wallet App. Alternatively, you can login directly at the issuing service using user and password.

Relying Party

The Relying Party implements several use cases from Potential LSP as well as a generic remote authentication flow for wallets. The service generates QR Codes according to OpenID for Verifiable Presentations to start a cross device flow and renders links to start a same device flow. The verifier also links to an "online" or "remote" wallet, where the user can perform authentication directly in the browser, i.e. attribute data are loaded from ID Austria and are converted on-the-fly into wallet credentials.

Technical Details

Open Source: Visit A-SIT Plus Open Source to have a look at the libraries powering the services mentioned above, in particular Signum for cryptography and VC-K for the credentials. Check out our Wallet app Valera and a very simple Relying Party Demonstrator too.

Implemented Specifications: We've implemented the relevant specifications like OID4VCI, OID4VP, SIOPv2, as well as relevant profiles from POTENTIAL and OpenID4VC HAIP. See the VC-K readme for some sample requests and responses.

Certificates: This is the root (IACA) certificate for our verifier and issuer. This is the (old) issuer certificate (M5), and the (new) issuer certificate (M6), and the verifier certificate.

Implemented Credentials: Our wallet system supports various credentials, defined by the EU, or porposed by the POTENTIAL LSP. See our Credential Collection.

EU Credentials
POTENTIAL Credentials

Please note that we try our best, but this is a demonstrator, and thus we can't make guarantees that everything is correct and available all the time.

Changes