Update #18
Hey friends,
This month, we introduced callbacks in the issuer API, a new web-wallet design, the option to sign SD-JWT VCs with an x.509 certificate and much more.
Identity Lib (v0.7.0)
Below are all features available through v0.7.0 of the identity lib. Checkout the full change log here. Want to learn more about the identity lib in general? Check out our intro video:
New Features
Callbacks In Issuer API
When initiating a credential issuance via the issuer API, provide a callback URL to receive updates on various events during the issuance flow.
You can find updated issuance examples using the callback here
Extended Issuer Metadata Config Options | Issuer API
In credential-issuer-metadata.conf
, users can now specify next to the supported credential types, cryptographic binding methods, credential signing algorithm values, supported proof types, and other relevant options for the issuer metadata.
Learn more here
New Web-Wallet UI
Our web wallet has undergone a UI update. It now offers two variations (Dev & Demo Wallet).
The Dev Wallet (UI as you know it today) exposes detailed information about keys, DIDs, and credentials while allowing users via various functions to create and import keys based on various types and linking those to specific DIDs.
Visit Dev WalletThe Demo Wallet offers a simplified UI with an updated look that only exposes the most relevant information for the end-user.
Visit Demo Wallet
JavaScript Frontend SDK for Demos
Vue and React components to quickly build out issuance and verification flows for demos and proof of concepts.
Check out the SDK here
Sign SD-JWT VC with x.509 certificate
The issuer API now also supports signing SD-JWT VCs with a x.509 certificate.
Learn more here
External Signatures for Receiving & Presenting Credentials in Wallet API
For cases where the private keys (associated with wallet DIDs) are stored externally of the wallet API system, the API now provides endpoints enabling external signatures for receiving and presenting credentials. At this point, it only supports the following credential formats: W3C JWT, mDL
This feature can be enabled by providing external-signature-endpoints
in the enabledFeatures
array in the features.conf
of the wallet API.
Learn more about it:
JWT X5C-Based Authentication As New Additional Authentication Method In Wallet API
This new authentication method allows clients possessing a X.509 certificate (signed by a CA that is trusted by the Wallet API) to access wallet accounts by signing JWTs themselves. In this process, clients should populate the x5c header appropriately. The Wallet API is set up with a list of trusted CA certificates, which are specified in the trusted-ca.conf
file. Client certificates are then verified for validity and trustworthiness against this list.
This feature can be enabled by providing trusted-ca
in the enabledFeatures
array in the features.conf
of the wallet API.
Learn more here
Option to Turn off Default DID and Key Creation in Wallet API
In the past, the wallet API always created a default set of key and DID when a new account got created. This can now be disabled by providing registration-defaults
in the disabledFeatures
array of the features.conf
file in the Wallet API.
Learn more about it here
Error Messages
The issuer and verifier API now provide more specific error messages.
Kotlin 2.0.20
The identity lib was upgraded to now use Kotlin version 2.0.20.
Breaking Changes
Changed endpoint name for new account in wallet API
wallet-api/auth/create
becomes wallet-api/auth/register
Verifier API interface update
To have a clearer distinction between credential formats / types that should be requested, the request_credentials
array in the body of the verify request no longer takes the credential types as string but as an object with more specific information about the credential.
E.g. a VerifiableId (W3C credential) will now be requested as such:
{ "request_credentials": [ { "type": "VerifiableId", "format": "jwt_vc_json" } ] }
Feature List & Roadmap
Overview - product features today and upcoming
PS: If you enjoy working with our tools, make sure to leave us a ⭐ on GitHub