Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@sphereon/ssi-types

Sphereon-OpenSource53.3kApache-2.00.34.0TypeScript support: included

SSI Common Types

SSI, Common Credential Types, Credential Mapping, Verifiable Credentials, DIDs

readme


Sphereon
SSI SDK

SSI SDK with OID4VC, Presentation Exchange, MS Entra support

This mono repository, contains packages that add support for Presentation Exchange and OpenID4VC (SIOPv2, OID4VCI, OID4VP) and other functionalities to SSI-SDK and Veramo based agents.

We also have additional DID methods and BBS+, RSA key support in our SSI-SDK crypto extensions project, that are compatible with this SSI-SDK and Veramo.

The modules can be integrated in agents running on the issuer, holder and verifier sides, both directly into typescript/javascript projects using NodeJS, mobile projects using React-Native, your browser, or other programming languages using the REST APIs.

OpenID for Verifiable Credentials (OID4VC)

This is a new set of specifications by the OpenID Foundation, that enable peer to peer authentication (SIOPv2), Credential Issuance (OID4VCI) and Credential Presentation/Verification (OID4VP). The SSI-SDK modules offer higher-level and more tight integrations for these specification than our lower level libraries, like OID4VCI, SIOPv2 & OID4VP and Well-known DIDs.

These low-level libraries are typically not too opinionated and require an implementor to do some more work like providing signature/key callback functions. Contrary this SSI-SDK is more opinionated and requires you to use other modules of the SSI-SDK or Veramo to provide certain functionalities, like DID and key management. The benefit however is that it provides a fully working agent solution with a low amount of configuration and/or additional coding in your solution, and a rich ecosystem of plugins.

If you want to test out some of these plugins, we highly recommend using our Open-Source wallet and/or SIOPv2-OID4VP demo deployed at https://ssi.sphereon.com, which are using the plugins below.

Plugin Description
Presentation Exchange Allows to persist and manage v1 and v2 Presentation Definitions, as well as Verify Presentation Definitions, create Verifiable Presentations with Submission Data, select and match Credentials and DIDs all stored in the agent. Can be used in both Relying Party/Verifier contexts as holder contexts
OID4VCI Issuer storage Allows to persist and manage OpenID4VCI Metadata and options in the agent database
OID4VCI Issuer OpenID for Verifiable Credentials Issuer core logic and functions. This is the integration of the agent with the low-level OID4VCI client library
OID4VCI Issuer REST API OpenID for Verifiable Credentials Issuer REST API. Exposes both OID4VCI endpoints, as well as status/management endpoints.
OID4VCI Issuer REST client OpenID for Verifiable Credentials Issuer REST client, allowing for easy integration and communication from a webapp with the REST API of the agent.
SIOPv2 Authenticator with OID4VP support OpenID Provider for a wallet/holder context, that allows the agent to authenticate with SIOPv2 against the Relying Party and optionally use OpenID4VP to transport Verifiable Credentials. It is integrated into Key Management system, DID providers and VC modules. Supports JWT and JSON-LD VCs and has support for the JWT VC Presentation Profile
SIOPv2 Relying Party logic with OID4VP support Plugin for a Relying Party agent context, containing the core logic to create Authorization Requests, verify Authorization Responses, as well as handle/manage Presentation Definitions and verifications (OID4VP). It is integrated into the Key Management system, DID providers and VC modules. Supports JWT and JSON-LD VCs and has support for the JWT VC Presentation Profile
SIOPv2 Relying Party REST API Plugin for a Relying Party agent context, it exposes a REST API which allows to integrate into webapps/websites. Support sessions and multiple presentation definitions. You typically run this as a separate agent to your application, but it could be integrated if you want.
SIOPv2 Relying Party REST client Plugin for a Relying Party webapp, it exposes a REST client, allowing for easy integration and communication from the Webapp with the REST API of the Agent. Support creating QR codes for different Presentation Definitions as well as Session Handling.

Microsoft:registered: Entra Verified ID

The below packages add direct support for Microsoft:registered: Entra Verified ID. These plugins are using Microsoft libraries and REST APIs. Please note that you do not have to use these plugins to be able to support Microsoft:registered: Authenticator, have your agent verify Verifiable Credentials issued by Entra Verified ID, or have your agent communicate with Microsoft Entra Verified ID SIOPv2/OID4VP. The above OID4VC plugins can do these tasks without requiring a direct integration with Microsoft: registered: Entra Verified ID as they conform to the same standards. The biggest exception is issuing VCs using Microsoft:registered: Entra Verified ID. Entra Verified ID will soon have support for OID4VCI, until that time you will have to use their Request API to issue credentials from Entra Verified ID

Plugin Description
Microsoft:registered: Azure :registered: Authenticator Plugin to authenticate using the Microsoft:registered: Authentication Library (MSAL) against Microsoft:registered: Azure :registered:.
Entra Verified ID Request API Plugin to use Microsoft:registered: Entra Verified ID's Request API (REST) to issue/verify Verifiable Credentials

Well-known DIDs

Well-known DIDs allow you to bind domain names to DIDs, by making clever use of Verifiable Credentials signed by the respective DIDs, hosting the result in a well-known location, and then linking to this location from the DIDs itself using service endpoints. We have a low-level library for managing well-known DIDs. The packages in the SSI-SDK provide an integration into DIDs managed by agents using the SDK or Veramo.

Plugin Description
well-known DID issuer Supports managing well-known DIDs and configurations. Allows to store them in the agent
well-known DID verifier Verified DIDs and domains to conform to the well-known DID specification

Contacts and storage

The contact-manager plugin allows you to persist external agent systems like issuers and verifiers. It supports multiple identifiers per contact in the form of correlationIDs, which are URIs as well as assign roles like issuers, holders, verifiers. Typically on a first encounter you would provide a UI to the user asking to provide a name if the protocol cannot already prefill a name. Then the contact gets stored, so simple names can be used instead of DIDs in a UI for instance. It can also be used to manage trust when encountering a certain contact in the future.

Plugin Description
data-store TypeORM based contact store to persist and query entities (contacts, identities)
contact-manager Manage contacts and their related identities

Issuance branding and storage

The issuance-branding plugin allows you to persist branding for issuers and credentials. This allows for these entities to be styled even when there is no active connection possible to the external parties. It supports logo's, background attributes like an image and or color, text color and additional branding information per locale.

Plugin Description
data-store TypeORM based issuance branding store to persist and query branding (issuer, credential)
issuance-branding Manage issuer and credential branding

Generic SSI plugins

Next to the below plugins, we suggest to check out the excelent work done by the Veramo team on the Veramo website. All these SSI-SDK plugins are compatible with Veramo (4.X). Hence you can mix and match the plugins from the SSI-SDK with Veramo plugins. The below plugins add additional functionalities or replace functionalities in Veramo.

Plugin Description
SSI Types Generic interfaces for Verifiable Credentials (JWT and JSON-LD) and DIDs. Also supports creating a uniform representation of Credentials, no matter whether they are in JWT or JSON-LD format
SSI Core Adds generic functions used by other plugins, like signing, encoding/decoding
DID Utils & Key Utils Generic key and DID utils can be found in our SSI SDK Crypto Extensions repo
JSON LD issuer/verified Adds JSON-LD issuance and verification for Verifiable Credentials. Integrates seamlessly with Veramo's W3C VC plugin
QR code generator Create generic, SIOPv2/OID4VP, OID4VCI and WACI PEX QR codes. This package specifically targets React and React-Native

DID resolution


Note: DID resolution is not part of this SDK. We do provide a Universal DID client you can use in Veramo, simply by using the below code when setting up the Agent:

Using the Universal resolver for all DID methods:

export const agent = createAgent<IDIDManager & CredentialIssuerLD & IKeyManager & IDataStore & IDataStoreORM & IResolver>({
  plugins: [
    // Other plugins
    new DIDResolverPlugin({
      resolver: new UniResolver({ resolveURL: 'https://dev.uniresolver.io/1.0/identifiers' })
    })
  ]
})

Using the Universal resolver for specific DID methods and DID-key:

export const agent = createAgent<IDIDManager & CredentialIssuerLD & IKeyManager & IDataStore & IDataStoreORM & IResolver>({
  plugins: [
    // Other plugins
    new DIDResolverPlugin({
      resolver: new Resolver({
        ...getDidKeyResolver(),
        ...getUniResolver('lto', { resolveUrl: 'https://uniresolver.test.sphereon.io/1.0/identifiers' }),
        ...getUniResolver('factom', { resolveUrl: 'https://dev.uniresolver.io/1.0/identifiers' }),
      }),
    }),
  ]
})

Building and testing

Lerna

The SSI-SDK makes use of Lerna for managing multiple packages. Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm / yarn.

Build

The below command builds all packages for you using lerna

yarn build

Test

The test command runs:

  • jest
  • coverage

You can also run only a single section of these tests, using for example yarn test:watch.

yarn test

Utility scripts

There are other utility scripts that help with development.

  • yarn prettier - runs prettier to fix code style.

Publish

There are scripts that can publish the following versions:

  • latest
  • next
  • unstable
yarn publish:[version]

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

0.34.0 (2025-05-22)

Bug Fixes

  • Ensure we have a uniform verification result across the different VCDM credential providers (44037dd)
  • experimental holder signing for JWT vc was not using the correct vc object (6f7f40b)
  • validity policies (fdb5575)
  • validity policies also allow validFrom, validUntil (9f10696)
  • VCDM1 credentials were using VCDM2 presentations. Now it inspects the credentials first and then picks the most appropriate version (4b691dc)
  • VCDM2 context was not taken into account (7765edb)

Features

  • Add tsup for esm and cjs (1ff3959)
  • Move to nx and fix a lot of tsconfig references in the process (9f634bd)
  • Move to nx and fix a lot of tsconfig references in the process (08361fa)
  • Move to nx and fix a lot of tsconfig references in the process (5e22c85)
  • move to vitest (117285e)
  • New digital credentials vc lib support (33881cd)
  • Packages are now ESM and CJS. Move to tsup and turborepo (e68c8f7)
  • Redesign of VCDM credential plugin. Now we have plugable providers, for JWT and JsonLD and a shiny new VCDM Credential Plugin using these providers. (67da208)
  • VCDM 2 (0660005)
  • VCDM 2 - JOSE implementation mostly supported (8e67307)

0.33.0 (2025-03-14)

Bug Fixes

  • Do not retrieve AS metadata from store in case an external AS is used. Fetch from remote (7f46a5a)
  • Do not retrieve AS metadata from store in case an external AS is used. Fetch from remote (99c3f8e)
  • Do not try OIDF resolution on http:// urls (fe88114)
  • Export branding functions (9a04ac4)
  • Fixed merging issue (6fc5099)
  • Fixed the encoded presentation creation (f8a8c17)
  • Fixed type issues (c3754e6)
  • Fixed type issues and updated oid4vc dependency (f919a29)
  • Fixes to bit length handling and changing default length from 2 to 1 to have more compact lists and not all parties support multiple bits yet (f6d3940)
  • Fixes to bit length handling and changing default length from 2 to 1 to have more compact lists and not all parties support multiple bits yet (90e82b6)
  • Issue with credential local branding in Postgresql where a uuid column was compared with a varchar (2d51dd8)
  • Issuer opts are not AS opts. Make sure we actually return issuer opts when requested (18b4ced)
  • Make OID4VCI access token signer more resiliant (6e09be4)
  • match jwk from jwt header by kid and load into JwtVerifyResult (84bbb0f)
  • Removed local dependencies (a50eb33)
  • Updated dependencies (2b871d5)
  • Updated dependencies and fixed broken code (4982faa)
  • Updated pnpm-lock.yaml (d2c23db)

Features

  • add default hasher implementation (0a17930)
  • Add oid4vci state store (56ec3e0)
  • Add QR code generation to OID$VP Auth Request API (c9749f7)
  • Add swagger Ui to the hosted context, so we have a swagger API per OID4VCI instance (4de300e)
  • added first party flow to holder plugin (2f19e12)
  • added sd-jwt vct metadata branding support (a21d812)
  • Enabled Swagger UI on OID4VP instance endpoints below /api-docs (a6c9fb4)
  • Improve status list handling and default status list handling (ab043c7)
  • Initial credential configuration REST API to add new and remove existing credentials from OID4VCI (c120d45)
  • Make sure we set default hasher implementations in case an app forgets to provide them (ad3a60d)

Reverts

  • Revert "chore: reverted updateStatusListEntry for sd-jwt status lists" (7978dec)

0.32.0 (2024-12-05)

Bug Fixes

  • Format mapping for PD (4e18635)
  • run migrations when resetting the database (7891648)

Features

  • Remove crypto.subtle as it is giving too many issues on RN. Moved to new implementation based on @noble libs (d86e7fa)
  • Validation improvements (b742fbe)

0.30.1 (2024-10-01)

Bug Fixes

0.29.0 (2024-08-01)

Bug Fixes

  • Doesn't make sense to always download issuer images, even if we already have it stored. Other stability improvements for image handling (b836ca1)
  • Logger fixes (75b6925)

Features

  • expose date(time) types per database. Also enhance the datasources capabilities (dd37e77)
  • Remove dep on isomorphic-webcrypto (44331b8)
  • update to new keyRefs instead of kids (e969b97)

0.28.0 (2024-07-23)

Bug Fixes

  • Add ebsi plugin schema (422cf14)
  • Ensure we always use the ES256 key for EBSI auth (be7dc15)
  • Make sure we do not use the jwk thumbprint as kid default value when not in EBSI (c4a22aa)
  • Make sure we do not use the jwk thumbprint as kid default value when not in EBSI (9a3bf56)
  • Make sure we search for display and legal name based on issuer metadata name as well (9a4cafd)

Features

  • Allow to pass in additional keys for EBSI (16aa9e2)

0.27.0 (2024-07-07)

Bug Fixes

  • added a guard to check the issuerBranding (c6d8de2)
  • extract PD name & purpose from definitionPayload (9573ced)
  • fixed addIssuerBranding step (3008b11)
  • fixed addIssuerBranding step after adding identity (17aa278)
  • remove execution of loading env files (1937c14)

Features

  • Add JWKS hosting per DID (70e41d7)
  • added addIssuerBranding step to the vci machine (6fba515)
  • added branding as an optional parameter to the party (0b46c70)
  • Allow EBSI attestation client to be the start of a regular VCI flow (afffd39)
  • Callback listeeners (fce3670)
  • EBSI access token, attestation and DID support (bed66b4)
  • EBSI DID registraiton/management (7195786)
  • EBSI headless attestation credentials (6b6ad14)
  • fixes after merge, modified some comment and prettier (daebd26)
  • Get the authorization URL from a TI using a cloud/service wallet when requesting a particular attestation credential (222c4d4)
  • implement Oid4VP authorization token support (5fdbd65)
  • Introduce EBSI attestation service to get VCs, for instance to onboard (59f1809)
  • Siopv2Holder module implementing xstate Siopv2Machine (7dd0651)

0.26.0 (2024-06-19)

Bug Fixes

  • a bug in migration CreateContacts (0267460)
  • a bug in selecting the type of the credential that we're going to request (c49b237)
  • clientId fixes (4fc568b)
  • clientId fixes (cad41fc)
  • Fixed broken tests (d01859d)
  • Make sure we import path/fs only when really needed for object-creation. Ensure we use agent-config plugin only in places it is needed (76b4f53)
  • updated vci package and fixed getSupportedCredential function (780a377)
  • updated version of vci and fixed the libs for it (ceb6074)
  • updated version of vci and fixed the libs for it (de1d6aa)

Features

  • Adapted the plugin to accept https urls, added tests and documentation about the changes (73ab5ae)
  • allow default auth request options for VCI links/machines, like clientId and redirectUri (434196e)
  • Allow to pass in options when emitting link handler events (0293342)
  • Allow to pass in state for url handler handle methods, allowing a statemachine to continue, without database persistence (16e06e8)
  • Run prettier (2a9be95)
  • Support http(s) urls (b3cc812)
  • Updated dependencies on the @sphereon/oid4vci (00810ff)

0.25.0 (2024-06-13)

Bug Fixes

  • Ensure logger is initialized early preventing potential issues when importing from other libraries (eae66f2)
  • fix physical address building name validation (b3508c0)
  • Order of static keys to ensure default namespace key is available when creating the default logger (dc56df2)
  • removed not null constraint from the SQL statement that adds the origin column (95929d1)

Features

  • (WIP) added ownerId, tenantId, and origin. (d9b8623)
  • added pd-manager / pd-store (ed77532)
  • added sd-jwt plugin (85d8aeb)
  • Added the StudentEntity and refactored the migrations (fb36a51)

0.24.0 (2024-06-05)

Bug Fixes

Features

  • added deactivateDidEndpoint function according to decentralized-identity's universal-registrar and renamed previous method as deleteDidEndpoint and marked it as deprecated (39a6601)
  • expose contact manager methods for rest implementation (37bbfd2)
  • updated oid4vci-holder to support full flow (63be076)

0.23.4 (2024-04-25)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.23.2 (2024-04-25)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.23.1 (2024-04-25)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.23.0 (2024-04-24)

Bug Fixes

  • add PhysicalAddress migrations to postgres (afd441c)
  • added default value to PartyType.origin (8b9d5d2)
  • adjust PhysicalAddress postgres migration to follow code standards (b8540fe)
  • Allowing null values of enum type column (a4bc42b)
  • Fixed origin column name (d7a6ec1)
  • made party origin mandatory in the *Args types (d8e8560)
  • rework fix to include missing table in existing migration (0862dbd)
  • set uri to nullable in Party table (38318ae)

Features

  • add kb-jwt to sd-jwt (e066f2b)
  • Added PartyOriginEnum to PartyType, wrote migrations and updated tests and updated the contact manager plugin (07d8c1f)

0.22.0 (2024-04-04)

Features

  • Add option noStateMachinePersistence to VCI link handler to skip state machine persistence (315b076)

0.21.1 (2024-04-04)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.21.0 (2024-03-20)

Bug Fixes

  • changed the logic for getting validFrom (7a7940b)
  • fixed failing test cases and added more test cases for getting data from the raw data (6f5b50b)
  • fixed import (cf67a50)
  • fixed XStatePersistence plugin and fixed the tests (56d8f18)
  • refactored UniformCredential names to digitalCredential, added utility methods for getting the credential document type (a0c5530)
  • Resume OID4VCI with linkhandler and auth code flow was broken (654cef4)
  • Use response_uri instead of redirect_uri (9c7c9ef)

Features

  • (WIP) added tenant aware credential store (db68113)
  • Add rest client mode to xstate-machine-persistence, allowing to process local events but delegate the execution to a REST server (02c5e12)
  • Add support to automatically cleanup on final states, as well as to cleanup all other instances when starting a machine (484fc21)
  • Add support to create DID on demand when talking to RP with SIOP (68a6dee)
  • Add support to start and resume xstate statemachines, with automatic persistence on state changes (f6baae0)
  • added pagination to digital credential store (ecefdcf)
  • added tenant aware credential store (312698e)
  • added unit tests and refactored plugin methods (31eac66)
  • Allow to use a customInstanceId as well as an existingInstanceId, so we can differentiate between re-using an existing machine and using a custom id (3aeb93d)
  • Basic structure of plugin created (16160de)
  • Created migrations and refactored the database layer (8672b82)
  • upgrade SD-JWT package (6563973)

Reverts

  • Revert "chore: Make sure plugins having listener methods, actually expose the interface" (99db568)
  • Remove BBS support. (205e0db)

BREAKING CHANGES

  • Remove BBS support. Upstream support for Windows and RN is missing. Needs to be revisited at a later point in time

0.19.0 (2024-03-02)

Bug Fixes

  • changed image-size library version to a react friendly one (308bad7)
  • changed the image-size usage to handle uint8array (1a0e080)
  • fixed the svg problem with image-size (d7823eb)
  • Instead of figuring out the proof format, we defaulted to JWT credentials if the format was not supplied, bypassing the detection code (8cba122)
  • JWT VP sometimes was constructed as a JSON LD VP with JwtProof2020 (abb012c)
  • modified handling svg files in ssi-sdk.core (c86188e)
  • Several JWT Verifiable Presentation fixes, like missing kid, iat, exp values. Also include a holder in the vp payload, as some RPs require it, although it is optional for a JWT (30d8c54)
  • VCI holder agent plugin credential and branding storage fixes (901ff44)

Features

  • Add initial OID4VP ID2 support (85325ae)
  • added oid4vci-holder plugin (e8507d4)
  • added physical and electronic addresses to contact-manager (76f78b3)
  • added remote-server-rest-api (0076160)
  • Allow i18n for JSONLD credentials (1ce843e)
  • Allow to pass in nonce when creating the auth request URI (82f82ef)
  • Correct submission_data when send in incorrectly as string (c5d6b76)
  • event-logger improvements (a3fdcd2)
  • Reuse existing PEX for performance (9c8966c)
  • Support selecting did methods from aud claim of request. (0bfc03d)

Reverts

  • Revert "chore: update deps" (f83aee5)

0.18.1 (2024-01-19)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.18.0 (2024-01-13)

Bug Fixes

  • added ssi-sdk.core to data-store tsconfig plus added exposed query function to enablePostgresUuidExtension signature (cb5d8cb)
  • added WithTypeOrmQuery type to core module and renamed enableUuidv4 to enablePostgresUuidExtension (9bfb597)
  • document added (80112ec)
  • export enablePostgresUuidExtension and WithTypeOrmQuery to core exports (5161837)
  • refactored usages of enablePostgresUuidExtension to accept queryRunner as the main param (3654a8a)

Features

  • Add bearer token support using callback function (4528881)
  • Add static bearer token callback function option (2d5cd5a)
  • added enableUuidv4 to data-store exports (d7c1237)
  • ssi-types: add kid to cnf (0fb3886)
  • ssi-types: sd-jwt support (b9154a0)

Reverts

  • Revert "chore: update deps" (a1cd971)

0.17.5 (2023-10-01)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.17.4 (2023-10-01)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.17.3 (2023-09-30)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.17.2 (2023-09-30)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.17.1 (2023-09-28)

Bug Fixes

  • update deps to fix an issue with VCI offer ids not mapping on issuer metadata (aa6f98c)

0.17.0 (2023-09-28)

Features

  • Do not raise an error by default in case we encounter a VC with a statuslist we do not support. More strict scenario's are supported with an optional parm (2dde4b7)
  • Do not raise an error by default in case we encounter a VC with a statuslist we do not support. More strict scenario's are supported with an optional parm (4a634b7)

0.16.0 (2023-09-28)

Bug Fixes

  • Create a issuer.id in a uniform credential in case the issuer is already an object and there is an iss claim in the JWT (706baff)
  • Ed25519 2018 handling for verification (b858710)
  • Ed25519 2018 handling for verification (14125e5)
  • Fix multibase/codec code (4354927)
  • fixed partyId property in rest api (51861fd)
  • Internally alg needs uppercase (0388f11)
  • Make sure we do not throw an error when the IDP does not have an end_session_url (781e250)
  • Secp256k recovery 2020 fix (196ad4c)
  • Secp256k recovery 2020 fix (8be1da2)

Features

  • Add auth support to VCI REST client (c541b23)
  • Add initial versions of VC API clients back (f6465cf)
  • Add static header support to siop rest client (e9fb5ee)
  • Add support for an OIDC BFF Passport based solution to express. Allows for SPA to work IDPs that require confidential clients (d4e082c)
  • Add web3 signer/wallet support directly using KMS, so you can use keys managed by the KMS in web3, without ever having to expose private keys (e3d3df7)
  • added contact test data (daeb87d)
  • Allow VCI issuer to also supply the issuer DID when the credential issuer is an object without an id (7c72d31)
  • statuslist2021 functions (61729f3)
  • statuslist2021 support (2649b95)
  • statuslist2021 support (46986dd)
  • web3 headless provider and wallet (00fc40a)
  • web3 headless provider and wallet (c69cf9e)
  • web3 headless provider and wallet (62dc7df)

0.15.1 (2023-08-10)

Bug Fixes

  • /well-known/did/json wasn't resolving anymore because of an incorrect path match (e94f4da)

0.15.0 (2023-08-10)

Bug Fixes

  • Alg header was not correctly set, and we do support ES256 for JsonWebSignature2020 now (d8e961c)
  • Authentication fixes (adafd6b)

Features

  • Add graceful http server termination (bba073b)
  • Add morgan logging to express builder. Allow expres to start from build result (caa4909)
  • Add optional entra ID auth builder (960f2df)
  • Add optional static bearer auth builder, with hashed tokens (6a7dd17)
  • Allow document loader to also load DID from the agent and fall back to the universal resolver (all configurable) (f2f9fbc)
  • allow signing credential with local resolved DID. Especially handy for did:web that is not yet published/exposed (34793e9)
  • Separate SIOPv2 REST API into individual functions and use express-support (2495980)

0.14.1 (2023-07-31)

Note: Version bump only for package @sphereon/sphereon-sdk.workspace

0.14.0 (2023-07-30)

Bug Fixes

  • also publish when on a fix branch (e8b678e)
  • also publish when on a fix branch. Also run a diff before the frozen lockfile install so we can see what's going on (69a3200)
  • CI was still using yarn instead if pnpm in several places (ca16f70)
  • CI was still using yarn instead if pnpm in several places (c167259)
  • Fix relative DID resolution and Json websignature 2020 verification for ED25519 and some other algs (ca2682c)
  • Use agent resolver if not set, with fallback to universal resolver. Fix bug in response message (43c9313)
  • VCI did resolution from agent (7aa2bd3)
  • VCI did resolution from agent (2c913db)
  • VP did resolution from agent (aa3f3f1)

Features

  • Add express builder, cors configurer, passport authentication and casbin authorization support for APIs. (cb04fe8)
  • Add global web resolution provider. Add json error handler (f19d1d1)
  • Add partial DIF Universal Registrar and Resolver support (69c8046)
  • Add seperate did:web service to host did.json files managed by the agent (0a8a0bb)
  • Add support for ES256(k/r) in JsonWebsignature2020 signing (cd511d5)
  • Allow objects for error response. Improve json handling in error responses (4151c73)
  • Better support for MS Azure auth and re-using a MSAL client from Azure Request API (61bdfaf)
  • Move VC API endpoints to functions, to more easily create your own API server, only supporting certain endpoints (fc03507)

0.13.0 (2023-06-24)

Features

  • allow default opts to be set when OID4VCI is running (7142273)
  • allow did opts from default options to be populated in instance options (41deb99)
  • allow instance opts to be set when OID4VCI is running but only when having access to the object directly (51f873e)
  • Allow setting SIOP RP default opts also after construction, as sometimes you need to agent which is not available yet at construction time (bf871da)

0.12.0 (2023-06-21)

Bug Fixes

  • added dev dependencies for oid4vci-issuer-rest-client plus prettier (7b6c2b3)
  • added schema export for oid4vci-issuer-rest-client and some docs (7db9c1b)
  • changed credentials and grants to mandatory plus renamed the uri to url (2df3612)
  • fix test cases and REST arguments (975801e)
  • fixed a bug in calling cross-fetch with post, modified the tests (a3defeb)
  • skipped integration tests in oid4vci-issuer-rest-client (c43759b)
  • unify naming (aee0bf1)
  • unify naming (ec7d0b6)
  • unify naming (94165cd)
  • updated generate-plugin-schema for oid4vci-rest-client (70e7820)

Features

  • Add issue status support to OID4VCI REST client (40abd83)
  • Add key value store plugin (95244fa)
  • Add OID4VCI issuer modules (af85f1e)
  • Add Presentation Exchange module (a085c81)
  • Add SIOPv2 Relying Party logic and REST API (01f2023)
  • Add SIOPv2OID4VP RP auth and REST module (91b1da3)
  • added oid4vci-rest-client package (910f697)
  • Allow to supply data for VCI Issuer REST client and server during offer (0878c28)
  • changed the test structure and few other pr notes addressed (6520fbe)
  • More support for definition Formats when creating VPs from SIOP (846ef0b)
  • move schema generation to own plugin because of transitive dependency issues upstream (51c5156)
  • move schema generation to own plugin because of transitive dependency issues upstream (58002a8)
  • move to pnpm (2714a9c)

Reverts

  • Revert "chore: remove plugin schemas" (2870d77)
  • Revert "chore: remove plugin schemas" (07af699)

0.11.0 (2023-05-07)

Bug Fixes

  • make credential mapper a bit more resilient (36c420e)
  • make credential mapper a bit more resilient (ce5b487)
  • make credential mapper a bit more resilient (7248fae)

Features

  • Create new agent-config module to replace the deps on Veramo cli, which pulls in everything (6ac4ec0)
  • Create new agent-config module to replace the deps on Veramo cli, which pulls in everything (673856f)
  • instead of returning a boolean value, return an object with more information about verification of LD creds/VPs (7df0e64)

0.10.1 (2023-05-01)

Note: Version bump only for package SSI-SDK-workspace

0.10.0 (2023-04-30)

Bug Fixes

  • bbs+ fixes and updates (84c08f1)
  • bbs+ fixes and updates (fc228a2)
  • bbs+ fixes and updates (efcbf2c)
  • bbs+ fixes and updates (871cf66)
  • bbs+ fixes and updates (ae9e903)
  • cleanup package.json files (aca017b)
  • cleanup package.json files (0cc08b6)
  • decoded JWT VPs/VCs did not contain everything (612b082)
  • decoded JWT VPs/VCs did not contain everything (fd7ff68)

Features

  • Add better internal handling of JWT proof values used in JsonLD converted credentials (90004c5)
  • added holder role to contact types (728c8e1)
  • More support for definition Formats when creating VPs from SIOP (61c4120)
  • Update to v2 PEX and v0.3 SIOP packages (80398e3)

0.9.0 (2023-03-09)

Bug Fixes

  • credential mapper for jtw (f04345b)
  • default contexts are not using node fs/path anymore (5a87aa3)
  • default contexts are not using node fs/path anymore (8f1b17a)
  • default contexts are not using node fs/path anymore (51fd687)
  • deps (ec062f8)
  • Disable factom tests (099a303)
  • Fix DID handling in OP session (926e358)
  • fix private key hex from Pem (0204094)
  • Incorrect verification method id returned when signing credentials in some cases (bdbf4ef)
  • Incorrect verification method id returned when signing credentials in some cases (c508507)
  • JWT claims would overwrite the issuer object in the credential. Disable Factom tests (f41cf64)
  • make sure cross-fetch is used to fetch (7033a2e)
  • Make sure we follow JWS detached signing for JsonWebSignature2020 (3da5bad)
  • missing awaits for signing presentations (518b8fc)
  • Move parseDid method to ssi-types (0b28de3)
  • QR code testing. Remove enzyme as it is not compatible with React 18 (62debd9)
  • Remove non dev dep on veramo-core (8cb8efe)
  • Remove workaround for verifier missing with ed25519 key (2e97af6)
  • RSA fixes for suite (b163872)
  • RSA fixes for suite (d6f57b8)
  • RSA fixes for suite (9eb47d1)
  • RSA fixes for suite (834642a)
  • RSA fixes for suite (3df79ab)
  • testing unimodules-core removal (ffdc606)
  • Tests to allow multiple subjects for credentials (5e407ac)
  • Tests to allow multiple subjects for credentials (52b1662)
  • Tests to allow multiple subjects for credentials (110d78e)

Features

  • add Alg support to DID:JWK. Although optional in reality several external systems expect it to be present (12dae72)
  • Add jsonwebsignature2020 context to presentations if missing (1f3f6b5)
  • Add jwt as signature when decoding JWT VCs/VPs (f089ac1)
  • Add RSA support to JsonWebKey/Signature2020 (94c0e73)
  • Add support for ES256/Secp256r1 DID JWKs (1e447a6)
  • allow existing did document for mapping (5f183ce)
  • allow existing did document for mapping (4d82518)
  • Allow multiple subjects for credentials (6300ccc)
  • Allow supplying signer/verifier (00892e2)
  • Allow supplying signer/verifier (625ea6f)
  • Allow supplying signer/verifier (b010d7a)
  • Allow to relax JWT timing checks, where the JWT claim is slightly different from the VC claim. Used for issuance and expiration dates (85bff6d)
  • Create VP in OP Authenticator and allow for callbacks (0ed86d8)
  • did utils package (d98b358)
  • Jsonweb2020 sig support (43a3adf)
  • make sure the credential-jsonld can deal with keys in JWK format (26cff51)
  • Make sure VP type corresponds with PEX definition (129b663)
  • Make sure VP type corresponds with PEX definition (3dafa3f)
  • New QR code provider plugin. Can generate both SIOPv2 and DIDCommv2 OOB QRs. Support for text generation and React QR codes as SVG (d40ba75)
  • Update SIOP OP to be in line wiht latest SIOP and also supporting late binding of identifiers (2beea04)

Reverts

  • Revert "fix: make sure to explicitly depend on @digitalcredentials VC packages" (dae695d)
  • Revert "fix: make sure to explicitly depend on @digitalcredentials VC packages" (e2be77a)
  • Revert "fix: deps" (5b0df98)

0.8.0 (2022-09-03)

Bug Fixes

  • Remove most deps from ssi-sdk-core to prevent circular deps (b4151a9)

Features

  • Add support for update and recovery keys (85bcf7e)
  • Create common SSI types package (0fdc372)

0.7.0 (2022-08-05)

Bug Fixes

  • Update ion deps to remove problematic did-key p384 from transmute which depended on webcypto-asl which is not compatible with node >=14. (386efc7)

Features

  • add Microsoft Request CoseCryptoService API support (251ed60)
  • Add migration support to mnemonic seed manager plugin. Fix some entity props in the process (f7641f4)

Reverts

  • Revert "MYC-184 Update main Version change 0.5.1 -> 0.5.2" (b1b8cc6)
  • Revert "MYC-184 uncommitted changes are added" (fb4f878)

0.6.0 (2022-07-01)

Bug Fixes

  • Fix unit tests for VC API (f3c5eea)
  • fixed and refactored some pr notes (2ff95b9)
  • tests are now using env variables (9cb6ec2)

Features

  • Add custom DID resolver support (45cea11)
  • Add default DID resolver support (eebce18)
  • Add did resolver and method support per OpSession (9378b45)
  • Add did resolver and method support per OpSession (a9f7afc)
  • Add supported DID methods (df74ccd)
  • Add supported DID methods (7322265)
  • added piiLoggingEnabled and logLevel to optional params for clientCredential authentication (584fb7b)
  • added region to optional params for clientcredential authentication (e21bd70)
  • changed the structure of the module to be more like the ssi-core module of ours. Plus, changed some documents (4480b3f)

0.5.1 (2022-02-23)

Note: Version bump only for package SSI-SDK-workspace

0.5.0 (2022-02-23)

Features

  • Update waci pex implementation as it was serializing a SIOP Auth request including all options like private keys, not conforming to WACI-PEX (90a1cba)

0.4.0 (2022-02-11)

Bug Fixes

  • ensure we set jsx to react (c2a5e6f)

Features

  • Add WACI PEx QR generator for React (7850e34)

0.3.4 (2022-02-11)

Bug Fixes

0.3.3 (2022-02-10)

Bug Fixes

  • building of credential-jsonld containing ts files + not copying files (cdbfcab)
  • we imported a ts file from another package in the monorepo instead of using the module (5d647df)

0.3.2 (2022-02-04)

Bug Fixes

  • building of credential-jsonld containing ts files + not copying files (cdbfcab)
  • we imported a ts file from another package in the monorepo instead of using the module (5d647df)

0.3.1 (2022-01-28)

Note: Version bump only for package SSI-SDK-workspace

0.3.0 (2022-01-16)

Bug Fixes

  • Add missing suites exports (4a3b8ce)
  • Be a bit more relaxed when deleting an LTO DID, eventhough onchain support is not present (7347914)
  • Update test timeout for Factom (9a934cf)

Features

  • Add debug logging when creating VC, can be enabled by DEBUG=sphereon:ssi-sdk:ld-credential-module-local (c0df2ce)

0.2.0 (2021-12-16)

Bug Fixes

  • LTO DIDs use #sign for keys (11daa98)
  • move to ES6 import for cross-fetch (b855273)
  • Multibase encoding didn't include the prefix char (1be44b7)
  • update test to search for kid using #sign instead of #key as the LTO indexer impl changed (fa0fae4)
  • workaround for bug in VeramoEd25519Signature2018 implementation (13442eb)

Features

  • Add JSON-LD Credential and Presentation handling/sign support that is compatible with React-Native (b4e8453)
  • Add JSON-LD Credential and Presentation handling/sign support that is compatible with React-Native (995f55e)
  • Add local default contexts (da29f02)
  • Add Local JSON-LD VC and VP issuance and verification plugin (aa1b45c)
  • Add Mnemonic seed generation, verificaiton and secure storage (d9a410a)
  • Add new ed25519 2018 signature and spec implementation using transmute's TS implementation (ffbe876)
  • Add proof purposes to issuance and verification methods. Add support to resolve verification methods from DID doc (c8e7392)
  • Add Self-Issued OpenID Connect and OpenID Connect for Verifiable Presentations support (1ec1d1c)
  • Add suite lookup based on verification method type next to veramo key type (5c18dc2)
  • Allow remote context loading (742d3cc)

0.1.0 (2021-11-26)

Bug Fixes

  • add missing env var for workflow for PRs (c3198ca)
  • fix workflow env (3acf669)
  • fix workflow for PRs (eddad66)
  • open handles and logging after test completes (8cca899)
  • sync main into develop (143927c)

Features

  • Add factom-did module (e6e3cfb)
  • Add lto-did module (236ca01)
  • Add ssi-sdk core module (42a5b65)
  • Add workspace/lerna files and structures (2c2b112)