Update all non-major dependencies (patch) - #1190
Open
renovate[bot] wants to merge 2 commits into
Open
renovate[bot] wants to merge 2 commits into
renovate[bot] wants to merge 2 commits into
Conversation
renovate
Bot
force-pushed
the
renovate/patch-all-minor-patch
branch
from
September 23, 2026 05:49
ed4b1d1 to
53b13a4
Compare
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.7.0→0.7.10.7.0→0.7.11.4.3→1.4.51.4.3→1.4.51.4.3→1.4.52.0.10→2.0.111.2.14→1.2.152.3.7→2.3.97.4.10→7.4.123.0.8→3.0.924.13.4→24.13.61.1.12→1.1.1330.5.1→30.5.230.5.1→30.5.23.9.6→3.9.8Release Notes
openwallet-foundation/credo-ts (@credo-ts/core)
v0.7.1Compare Source
Patch Changes
9f4278b: AddDidDocument.findVerificationMethodsByPurposeandDidDocument.findVerificationMethodsByTypeAndPurpose.The relationship-aware methods resolve inline and referenced methods and
return them in requested relationship order while preserving entry order
within each relationship. The type-filtered method accepts one or more
verification-method representations and delegates relationship traversal to
the purpose-only method. DIDComm JSON-LD, JWT credentials, presentation
selection, DIDComm messaging, AnonCreds data integrity, Cheqd signing, peer
DID conversion, and did:webvh signing now use the appropriate shared lookup.
AnonCreds credential signing prefers verification methods authorized for
assertionMethod, with declaredverificationMethodentries as a fallback.f127ff5: Mdoc revocation for issuance and verification5cfcadb: Fail COSE Sign1 and Mac0 signing, and Mac0 verification, when no algorithm is declared instead of falling back to the first supported signature algorithm of the key. The Mac0 authenticate operation now also uses the algorithm provided by the caller. COSE Sign1 verification still falls back to the signature algorithm of the key, as @owf/mdoc does not forward the alg of the deviceAuth Sign1 structure yet.84dfcf4: sd-jwt vc does not require IAT to be required anymoree80900a: Fix selective disclosure of SD-JWT array elements when presenting with DCQL. Array elements that are selectively disclosable on their own were not disclosed, even when requested. They are now disclosed by their position in the array.DCQL claim sets of SD-JWT VC and W3C V2 SD-JWT VC credentials now include
disclosed_paths: the paths to the claims the presentation discloses, including the claims that are not selectively disclosable. An array element has the position it has in the claims of the credential, where decoy digests don't count. A path stands for the claim and everything below it, so a claim that is disclosed as a whole has a single path. Pass them as the newdisclosedPathsinDcqlCredentialsForRequest(done automatically byselectCredentialsForRequest).Disclosing an SD-JWT VC or W3C V2 SD-JWT VC based on
disclosedPayloadis deprecated, as it selects arrays as a whole.disclosedPathswill be required for these formats in the next breaking version.For the same reason,
applyDisclosuresForPayloadonSdJwtVcServiceandW3cV2SdJwtCredentialServiceis deprecated in favor of the newapplyDisclosuresForPaths.IDisclosureFramenow also allows array positions in_sd, and theClaimPathtype is exported.8ded8d2: FixEd25519Signature2018incorrectly acceptingEd25519VerificationKey2020verification methods (previously converted at runtime from multibase to base58), and registerEd25519Signature2020with its own requiredEd25519VerificationKey2020verification method type instead of sharing acceptance withEd25519Signature2018. Each suite now strictly enforces its own verification method type, with error messages identifying both the offending key type and the proof type.W3cJsonLdCredentialService#signCredentialand#signPresentationnow share a single suite-preparation path that resolves and validates the verification method against the suite's required key type before signing, replacing duplicated per-method logic.Also fixes missing
@type: multibasetyping forpublicKeyMultibase/proofValueand missingcapabilityInvocation,capabilityDelegation, andkeyAgreementterm definitions in theed25519-2020JSON-LD context, which caused JSON-LD framing/expansion failures when dynamically signing and verifying credentials and presentations withEd25519Signature2020DIDs.fd5016d: feat: theCacheinterfaceget,setandremovemethods now accept aCacheOptionsparameter with ascopethat is either'context'(default) or'global', allowing globally reusable data to be shared across agent contexts. The X.509 CRL summary cache, the Indy VDR pool lookup cache and the AnonCreds registry cache use the global scope, as they only hold publicly anchored data. The DID resolver caches documents of public did methods in the global scope, and documents of other did methods per agent context; the list of public did methods can be configured with the newpublicDidMethodsoption of the dids module (default['web', 'indy', 'sov', 'cheqd', 'hedera', 'webvh']).Behavior changes to be aware of:
InMemoryLruCachenow namespaces keys bycontextCorrelationIdby default. This fixes potential cross-context sharing of context-scoped entries (e.g. records cached byCachedStorageService) in multi-tenant setups. Single-context agents are not affected.RedisCachestores global-scope entries under aglobal:key prefix. Existing context-scoped Redis entries for the caches that moved to the global scope become cache misses after upgrading and expire through their TTL, causing a one-time refetch.d45aec0: fix(kms): respect the configureddefaultBackendwhen no explicitbackendis provided for a key management operation. Previously the first registered backend that supported the operation was always used and thedefaultBackendoption was silently ignored, which could result in keys being created in a different (e.g. software instead of hardware-backed) backend than configured. If the default backend does not support the requested operation, the first other backend that supports the operation is used and a warning is logged.5cfcadb: Use thealgfrom the JWS header when verifying linked data proofs, and bind signing to the algorithm declared in the JWS header, instead of using the first supported signature algorithm of the key. Also fixes the JWS header validation for linked data proofs, which could previously be bypassed by adding an extra header parameter.097c831: fix(vc): bind the holder to the credentialSubject when verifying JSON-LD (ldp_vp) presentationsW3cJsonLdCredentialService.verifyPresentationverified the presentation proof and each embeddedcredential's issuer proof, but never checked that the presentation signer (holder) controls the
credentialSubject.idof the embedded credentials. The underlying@digitalcredentials/vc/jsonld-signatureslibraries do not perform this check either. As a result anldp_vpcould be usedto present someone else's credential (a data object, not a secret) wrapped in a presentation signed
with the attacker's own key. This check is already enforced for
jwt_vpand SD-JWT presentations;the JSON-LD path now enforces it too, surfacing the result per credential under
credentials[].credentialSubjectAuthenticationto match thejwt_vpresult shape.20d6ab1: fix: correctly encode kid in the header of cose signatures, and do not include the kid in oid4vci request to the issuerbc4638e: Update@owf/mdoc,@owf/coseand@owf/token-status-list, which add ISO/IEC 18013-5 conformance checks to mdoc verification:keyAuthorizationsin the MSO (9.1.3.4). When creating a device response,deviceNameSpacesvalues are only disclosed when they are requested and the mdoc authorizes them; other values are left out.Mdoc.signaccepts a newkeyAuthorizationsoption to authorize namespaces or individual data elements.submust equal the URI it is referenced by. PassexpiresAtwhen creating a CWT token status list for mdocs.0must not contain documents, and a document must not contain the same element identifier twice in a namespace.issuing_countryandissuing_jurisdictionare checked against thecountryNameandstateOrProvinceNamein the subject of the document signer certificate, instead of in its issuer (9.3.1).issuing_jurisdictionis only checked when the certificate has astateOrProvinceName.Mdoc.signthrows whenvalidityInfo.validFromis beforesigned, which defaults to now, or whenvalidUntilis not later thanvalidFrom(9.1.2.4).bc4638e: Add support for the ISO/IEC TS 18013-7:2025 Annex C (org-iso-mdoc) Digital Credentials API.HPKE-0,HPKE-3andHPKE-7, following the naming of draft-ietf-jose-hpke-encrypt. These are integrated-encryption algorithms, soencryption/decryptionmust be omitted andencryptreturns anencapsulatedKey. Implemented in the askar backend (the recipient private key stays inside askar; only the Diffie-Hellman output leaves it) and in the node backend.createDcApiVerificationSession/verifyDcApiResponsefor verifiers andresolveDcApiRequest/createDcApiResponsefor wallets, backed by a newMdocVerificationSessionRecord.verifyDcApiResponsematches the response against the device request of the session and throws aMdocDeviceRequestNotSatisfiedErrorwhen a doc request is not satisfied. By default every requested element must be disclosed and issuer signed; in thedocRequestspassed tocreateDcApiVerificationSession, pass{ intentToRetain, optional, source }instead of theintentToRetainboolean to mark an element as optional or as device signed. The match is returned asdeviceRequestMatch, with per doc request the valid and failed documents, and per document the result of thedocTypeandclaimschecks.resolveDcApiRequestmatches the stored mdocs with the same rules and returns the same structure (throughHolder.matchDeviceRequestof@owf/mdoc): per doc request thevalidCredentialsandfailedCredentials, each with itsrecordand thedocTypeandclaimschecks, so a wallet can show an mdoc of the requested doctype together with the requested claims it is missing. Anage_over_NNrequest is answered with the age attestation the mdoc has (18013-5 7.2.5). A requested element that is not issuer signed, but that the device key is authorized for in the MSO, is matched as device signed when its value is passed indeviceNameSpacestoresolveDcApiRequest: pass the same value in thedeviceNameSpacesof the credential tocreateDcApiResponse. A credential can also passelementsto disclose only some of the requested elements.resolveDcApiRequest, then the globalgetTrustedIssuersForVerificationcallback (with the newmdocReaderAuthverification type, called per doc request), then the deprecatedgetTrustedCertificatesForVerificationcallback, then the statically configured trusted certificates. Resolving a reader authenticated request throws when none of these are configured. Return the leaf certificate from the callback to trust a reader on the certificate it presented itself.bc4638e: chore(mdoc): deprecateMdocDeviceResponse.createDeviceResponseWithDcqlQueryandMdocService.createDcqlQueryDeviceResponseCredo does not use these methods itself, and they only support part of DCQL: every claim of every
mso_mdoccredential query is requested,credential_sets,claim_setsandvaluesare ignored, and a claim missing from the mdoc throws instead of being treated as optional. UseDcqlService.createPresentationto present mdocs for a DCQL query, orcreateDeviceResponsewith explicitdocumentRequests.907f12f: fix(mdoc): guard unsupported device MAC authentication in the mdoc contextThe
hdkfcallback in the mdoc context previously derived an ECDH shared secret using raw curve math over the raw device private key bytes passed to it as a callback argument. This code path is only reached for mdoc device MAC authentication (ISO/IEC 18013-5), which Credo does not currently implement (only device signature authentication is supported), so it was never exercised. It is now replaced with an explicit error. A future device MAC implementation must derive the shared secret from the wallet-managed key inside the KMS, since the previous callback contract is incompatible with a non-exportable, KMS-held device key.bc4638e: Support treating the doc requests of an mdoc device request as alternatives, of which only one has to be satisfied. A device request with more than one doc request does not say whether it asks for all of them or for any one of them, so both sides opt in withtreatAmbiguousMultipleDocRequestsAsAlternatives: oncreateDcApiVerificationSessionfor the verifier, which stores it on the session and applies it when the response is verified, and onresolveDcApiRequestfor the wallet. The resolved request and the device request match now carrydocRequestsAsAlternatives, which is onlytruewhen the option is set and the request has more than one doc request. A resolved request that succeeds this way keeps the doc requests that could not be answered, so only create a response for the ones that succeeded.96dc69b: fix(mdoc): accept status lists signed by the credential's issuance chain during presentation (device response) verificationThe mdoc presentation verification path (
MdocDeviceResponse.verify, used by OpenID4VP) did not fall back to the issuance certificates when a trusted issuer was configured without dedicatedstatuscertificates (status: undefined). As a result, an mdoc carrying a token status list signed by the same certificate as the credential failed presentation verification, while the equivalent SD-JWT VC and standaloneMdoc.verifycases succeeded. The fallback (and the chain-equality safeguard that prevents it from widening the trust set) is now shared betweenMdoc.verifyandMdocDeviceResponse.verify.7dfafeb: Support certificate chain in mdoc signing.3a3eb03: Use the JWT headeralgfor SD-JWT VC signing and verification instead of always falling back to the first supported signature algorithm of the key. Thealgcan now be set on aPublicJwkinstance, restricting the key to that algorithm.23c354e: Add a new W3C Data Integrity module to core with proof models, validation helpers, processing utilities, and structured create/verify result handling.The module introduces a cryptosuite registry and Data Integrity proof service/API for proof creation, single-proof verification, and proof-set/chain verification flows, plus an initial
eddsa-jcs-2022cryptosuite implementation.It also adds public/internal Data Integrity exports and registers the Data Integrity module in the default agent module set, making Data Integrity APIs available by default.
907cc54: refactor(vc): rename anoncreds Data Integrity bridge APIs to W3C credential namespace. Replaces Data Integrity-specific symbols and types (IAnonCredsDataIntegrityService,AnonCredsDataIntegrityServiceSymbol,ANONCREDS_DATA_INTEGRITY_CRYPTOSUITE,DataIntegrityProof,dataIntegrityCryptosuites) with W3C credential equivalents. Generic JSON-LD verification now rejects anoncreds-2023 proofs and requires anoncreds W3C credential path. IntroducesshouldSignWithAnonCredsW3cService()andshouldVerifyWithAnonCredsW3cService()to clarify service responsibilities.339f4cc: Add a standaloneJsonLdModuleand sharedJsonLdModuleConfigfor configuring document loaders across JSON-LD consumers.W3cCredentialsModulecontinues to support its existingdocumentLoaderconfiguration API.bc4638e: Update to stable releases of@owf/mdoc(0.8.0),@owf/cose(0.4.0) and@owf/token-status-list(0.4.0), to@sd-jwt/coreand@sd-jwt/sd-jwt-vc0.21.0, and to@openid4vc/*0.5.6. SD-JWT processing is now stricter: a compact SD-JWT must end with the~separator, disclosure salts must be unique within an SD-JWT, and thesubclaim of a status list token must equal theurithat references it.5cfcadb: Use thealgfrom the provided options when updating a JWT token status list, instead of thealgof the signing key jwk (which is usually not defined).f127ff5: Added token-status-list module which allows you to fetch/update/create token-status-list instances for sd-jwt and mdoccfe86fa: X509 trusted certificates now can be provided in a new format. Previously it was a list of base64/pem/der encoded certificates, but now you can also provide a list of objects in the format[{issuance: string[], status? :string[]}]. This is used for the new status indicator on mdoc. First, it looks for the usedissuancetrusted certificates and then validates thestatus, if available, with thestatustrusted certificates associated with theissuanceproperty.e97c18b: Add a globalgetTrustedIssuersForVerificationagent callback for resolving trusted issuers during verification. Unlike the now-deprecated X.509-modulegetTrustedCertificatesForVerificationcallback (which it takes precedence over), it supports both X.509 certificate chains and DIDs and is extensible to other trust mechanisms. It is wired into SD-JWT VC, mdoc, W3C V1 JWT and LD-JSON, W3C V2 JWT and SD-JWT, and OpenID4VP verification.121dd14: feat(vc2): implement W3C Verifiable Credentials 2.0 support including JWT, SD-JWT, and Data Integrity proof formatsb75467c: Support issuing Verifiable Credentials Data Model 2.0 credentials over the W3C Data Integrity credential attachment format (Aries RFC 0809). The format previously advertiseddata_model_versions_supported: ['1.1']and rejected a data model 2.0 credential, even though the agent was already able to secure one with aDataIntegrityProof.The data model version is negotiated on the wire as the RFC describes: the offer advertises the version of the credential it carries, and the holder echoes its choice as
data_model_versionon the request. Which cryptosuite secures the credential is not negotiated, as RFC 0809 leaves that choice to the issuer.data_model_versions_supported, so offering a credential in thehttps://www.w3.org/ns/credentials/v2context works without further configuration. Offers for data model 1.1 credentials are unaffected.cryptosuitedata integrity credential format option, naming the Data Integrity cryptosuite used to secure a data model 2.0 credential, for exampleeddsa-jcs-2022. When omitted, the first registered cryptosuite supporting the key type of the issuer verification method is used. It is ignored for data model 1.1, which is secured with a linked data signature suite instead. Theanoncreds-2023cryptosuite is rejected, as it is only produced through the anoncreds link secret binding method.W3cDataIntegrityApi.getSupportedCryptosuitesaccepts an optional public JWK type, returning only the cryptosuites that support that key type.W3cV2CredentialRecord. Deleting a credential of this format looks the record up in both the data model 1.1 and 2.0 stores, so the record type on the credential exchange record stays'w3c'for both versions.anoncredsvc-2023cryptosuite only.0,falseor''was refused by the holder as not matching the offer. Claims are now compared by presence.cfe86fa: TokenStatusList is a new standard module on the agent. It allows you to create/update/fetch token status lists. It is up to the user to host this, this can be easily done with thestatusListyou receive from theagent.tokenStatusList.createTokenStatusList(...)function. Updating the statuslist allows you to change the status list credential state from valid to invalid, but also update the expiry time, rotate certificates, change signing algorithm, etc. Signatures are the default and mac should only be used if the user is aware of the security implications and has good reason to do so.0a58888: Normalize DID identifiers when authenticating the credential subject of a verifiable presentation. A credential subject id that references a specific verification method (e.g.did:example:123#0) now matches the bare DID controller (did:example:123), as both refer to the same DID subject. Non-DID identifiers are still compared as-is.1e2088f: Add X.509 CRL (Certificate Revocation List) verification. Certificate chain validation can now check certificate revocation status against the CRLs referenced in each certificate's CRL Distribution Points extension, with configurableSoftFail/Require/Disabledmodes, reason partitioning (RFC 5280 §5.2.5), optional caching (verified CRLs are cached until theirnextUpdateand, after a configurable freshness period, revalidated against the freshly fetched bytes so unchanged CRLs skip re-parsing and re-verification) and full-chain checking. Revocation checking now also honours the CRL's own extensions: delta CRLs, indirect CRLs, CRLs whose Issuing Distribution Point scope does not cover the certificate being checked, and CRLs bearing an unrecognized critical extension are rejected rather than treated as authoritative proof that the certificate is unrevoked. Key usage is now enforced where RFC 5280 requires it: issuing CA certificates must assertkeyCertSignand CRL issuers must assertcRLSignwhen they carry a Key Usage extension. The certificate creation API also gained support for revocation reasons on CRL distribution points, and a newcreateCertificateRevocationListAPI (X509Api/X509Service) for creating and signing CRLs, including the CRL Number, Delta CRL Indicator, Authority Key Identifier and Issuing Distribution Point extensions.openwallet-foundation/credo-ts (@credo-ts/openid4vc)
v0.7.1Compare Source
Patch Changes
d86e941: Allow selecting and persisting the KMS backend used for OpenID4VC issuer access-token signing keys. Key rotation defaults to the issuer's current backend, supports moving to another backend, and deletes the previous key through its owning backend. Existing issuers continue to use the default KMS backend.bd17194: fix: do not include c_nonce_expires_in in nonce endpoint response, it was never part of the nonce endpoint response2fa6955: Don't require the DPoP proof to use the client attestation confirmation key at the pushed authorization request and authorization challenge endpoints. Per the attestation-based client authentication draft, the DPoP key and the client instance key only have to be the same for theattest_jwt_client_auth_dpopmethod (DPoP combined mode), where a single DPoP proof replaces the client attestation PoP JWT. When the dedicatedOAuth-Client-Attestation-PoPheader is present, the DPoP proof is validated according to RFC 9449 independently, and its public key is not required to match thecnfclaim of the client attestation. The issuer wrongly enforced key equality for both methods, rejecting interoperable wallets that use a separate DPoP key. Key equality for the DPoP-bound method at the token endpoint is unaffected.e80900a: Fix selective disclosure of SD-JWT array elements when presenting with DCQL. Array elements that are selectively disclosable on their own were not disclosed, even when requested. They are now disclosed by their position in the array.DCQL claim sets of SD-JWT VC and W3C V2 SD-JWT VC credentials now include
disclosed_paths: the paths to the claims the presentation discloses, including the claims that are not selectively disclosable. An array element has the position it has in the claims of the credential, where decoy digests don't count. A path stands for the claim and everything below it, so a claim that is disclosed as a whole has a single path. Pass them as the newdisclosedPathsinDcqlCredentialsForRequest(done automatically byselectCredentialsForRequest).Disclosing an SD-JWT VC or W3C V2 SD-JWT VC based on
disclosedPayloadis deprecated, as it selects arrays as a whole.disclosedPathswill be required for these formats in the next breaking version.For the same reason,
applyDisclosuresForPayloadonSdJwtVcServiceandW3cV2SdJwtCredentialServiceis deprecated in favor of the newapplyDisclosuresForPaths.IDisclosureFramenow also allows array positions in_sd, and theClaimPathtype is exported.5f1c572: Allow thegetDynamicIssuanceSessioncallback to supply theidof the issuance session to create. A dynamic issuance session is created after the callback returns, so the callback could not previously know the id of the session it just authorized. Supplying it lets an external system reference the session before it exists, for example to record it in its own database while handling the same request. When omitted a random id is generated, as before.1d0c05d: Exposed updateIssuer method on OpenId4VcIssuerApi1a6562c: fix(openid4vc): include auth-code scope in credential offer117931c: Updated so that when the holder verifies an incoming credential and it fails, it does not log the entire credentiala5719ae: AddignoreWalletAttestationsWhenNotRequiredto the OpenID4VC issuer module config. By default, a wallet attestation provided by a client is always verified, even if the issuance session doesn't require it, and an invalid attestation fails the request. When enabled, a wallet attestation that is not required is ignored at the token, pushed authorization request and authorization challenge endpoints, so wallets that send an invalid attestation can still complete issuance sessions that don't require one.e18d2cf: feat: interpret key attestation ISO 18045 levels hierarchically on the issuer, so a stronger attested level (e.g.iso_18045_high) satisfies a weaker required level (e.g.iso_18045_moderate). Also adds theOpenId4VciKeyAttestationLevelenum andkeyAttestationLevelSatisfieshelper.3f2bef1: Restore detailed mdoc verification error.20d6ab1: fix: correctly encode kid in the header of cose signatures, and do not include the kid in oid4vci request to the issuerab90ba7: Support configuring the signed issuer metadata signer when updating an issuer.updateIssuerMetadataandupdateIssuernow accept ametadataSigner, which can be omitted to keep the current signer, set to a signer to enable or replace it, or set tonullto stop signing the metadata. Previously a signer could only be configured when creating an issuer.0c8138e: Avoid an unnecessary request to the agent's own JWKs endpoint when verifying OpenID4VCI access tokens.When an access token issued by the agent's own built-in authorization server is verified, the agent no longer performs an HTTP request to its own
jwks_urito retrieve the access token signing key. The key is already held in the issuer record, and is now resolved locally.60efbe0: feat(openid4vc): support the Client Attestation PoP challenge and DPoP-bound method (draft 09 of OAuth 2.0 Attestation-Based Client Authentication)challenge(enabled through the newclientAttestationPopChallengeRequiredissuer config option). When enabled it advertises achallenge_endpointand, at the token endpoint, uses the reactiveuse_attestation_challengeflow (returning the challenge in theOAuth-Client-Attestation-Challengeheader) so clients retry automatically. The holder additionally fetches a challenge proactively from thechallenge_endpointfor the pushed authorization request and authorization challenge endpoints.attest_jwt_client_auth_dpop), where a single DPoP proof signed with the client instance key serves as both the DPoP proof and the client attestation PoP. Used automatically when the authorization server advertises it, in both the pre-authorized code flow and the authorization code flow. For the authorization code flow the whole interaction is bound to the client instance key: the authorization request commits the instance key as the DPoP key (dpop_jkt, with the issuer enforcing that the client attestation confirmation key matches the DPoP key), and the token endpoint uses the combined DPoP proof with that same key.client_attestation_signing_alg_values_supported/client_attestation_pop_signing_alg_values_supportedmetadata (configurable per issuer, stored as two nullable columns on the issuer record). Client attestation client authentication is advertised intoken_endpoint_auth_methods_supportedbased on those signing algorithms being configured (matching how DPoP support is enabled viadpop_signing_alg_values_supported):attest_jwt_client_authwhen the client attestation and pop signing algs are set, and the DPoP-boundattest_jwt_client_auth_dpopwhen the client attestation and DPoP signing algs are set.4f8bc6f: feat: adddeleteIssuanceSessionByIdanddeleteVerificationSessionByIdpublic APIs to allow cleanup of stored OpenID4VC session records.bc4638e: Only pick a response encryption key fromclient_metadata.jwksthat the key management backends of the agent can actually perform theECDH-ESkey agreement with. Previously the first recognizedenckey was used, which failed later on if e.g. a verifier included aP-521key and the configured KMS backend (such as Askar) does not support that curve. The Askar and Node key management backends now also take the curve of the external public key into account inisOperationSupported.9b64ef6: feat: increase the max request payload size for oid4vci to 1mb and openid4vp to 5mb to be able to handle payloads containing imagesbc4638e: Update to stable releases of@owf/mdoc(0.8.0),@owf/cose(0.4.0) and@owf/token-status-list(0.4.0), to@sd-jwt/coreand@sd-jwt/sd-jwt-vc0.21.0, and to@openid4vc/*0.5.6. SD-JWT processing is now stricter: a compact SD-JWT must end with the~separator, disclosure salts must be unique within an SD-JWT, and thesubclaim of a status list token must equal theurithat references it.cfe86fa: X509 trusted certificates now can be provided in a new format. Previously it was a list of base64/pem/der encoded certificates, but now you can also provide a list of objects in the format[{issuance: string[], status? :string[]}]. This is used for the new status indicator on mdoc. First, it looks for the usedissuancetrusted certificates and then validates thestatus, if available, with thestatustrusted certificates associated with theissuanceproperty.e1ddb2e: Consult thegetTrustedIssuersForVerificationcallback fordidsigned OpenID4VC JWTs. Previously onlyx5csigned JWTs were checked against a trust list, meaning a signed authorization request (JAR), an OpenID4VCI key attestation, an OAuth2 client (wallet) attestation, or signed credential issuer metadata signed by any DID was accepted. Semantics now matchdidsigned credentials in core: allowed when no callback is registered or it returnsundefined, rejected when the signer DID is not in the returned list. Behavior forx5csigned JWTs is unchanged.e97c18b: Add a globalgetTrustedIssuersForVerificationagent callback for resolving trusted issuers during verification. Unlike the now-deprecated X.509-modulegetTrustedCertificatesForVerificationcallback (which it takes precedence over), it supports both X.509 certificate chains and DIDs and is extensible to other trust mechanisms. It is wired into SD-JWT VC, mdoc, W3C V1 JWT and LD-JSON, W3C V2 JWT and SD-JWT, and OpenID4VP verification.9b64ef6: chore: update to oid4vc-ts 0.5 stable121dd14: feat(vc2): implement W3C Verifiable Credentials 2.0 support including JWT, SD-JWT, and Data Integrity proof formatse2871bb: feat(openid4vc): add agetDynamicIssuanceSessioncallback for dynamic (wallet-initiated) issuance that is not bound to a credential offer.The callback is the single decision point and application-level abuse-prevention gate for dynamic issuance. It is invoked when:
issuer_state(thechainedandpresentationflows), orexternalflow).The callback input is typed based on the endpoint that received the request (discriminated by
origin:pushedAuthorizationRequest,authorizationChallengeRequest, orcredentialRequest). For the authorization-server origins the parsed (not yet verified) wallet attestation, DPoP and raw request are available; for the credential-request origin the verified access token payload is available.The callback returns options describing the issuance session to create (or throws / returns
undefinedto deny). The returned options are typed based on the chosenauthorizationFlow:chained- authorization is delegated to a chained (internal) authorization server.presentation- authorization is completed using an OpenID4VP presentation during issuance (requiresgetVerificationSession).external- authorization has already been completed at an external authorization server (DPoP/wallet attestation requirements and refresh tokens are not configurable, as these are handled by the external authorization server).This enables wallet-initiated issuance for the chained authorization server and presentation during issuance flows, and unifies the existing external authorization server dynamic issuance under the same callback.
The
allowDynamicIssuanceSessionsconfiguration option is deprecated, and thegetDynamicIssuanceSessioncallback takes precedence.cfe86fa: TokenStatusList is a new standard module on the agent. It allows you to create/update/fetch token status lists. It is up to the user to host this, this can be easily done with thestatusListyou receive from theagent.tokenStatusList.createTokenStatusList(...)function. Updating the statuslist allows you to change the status list credential state from valid to invalid, but also update the expiry time, rotate certificates, change signing algorithm, etc. Signatures are the default and mac should only be used if the user is aware of the security implications and has good reason to do so.Updated dependencies [
9f4278b]Updated dependencies [
f127ff5]Updated dependencies [
5cfcadb]Updated dependencies [
84dfcf4]Updated dependencies [
e80900a]Updated dependencies [
8ded8d2]Updated dependencies [
fd5016d]Updated dependencies [
d45aec0]Updated dependencies [
5cfcadb]Updated dependencies [
097c831]Updated dependencies [
20d6ab1]Updated dependencies [
bc4638e]Updated dependencies [
bc4638e]Updated dependencies [
bc4638e]Updated dependencies [
907f12f]Updated dependencies [
bc4638e]Updated dependencies [
96dc69b]Updated dependencies [
7dfafeb]Updated dependencies [
3a3eb03]Updated dependencies [
23c354e]Updated dependencies [
907cc54]Updated dependencies [
339f4cc]Updated dependencies [
bc4638e]Updated dependencies [
5cfcadb]Updated dependencies [
f127ff5]Updated dependencies [
cfe86fa]Updated dependencies [
e97c18b]Updated dependencies [
121dd14]Updated dependencies [
b75467c]Updated dependencies [
cfe86fa]Updated dependencies [
0a58888]Updated dependencies [
1e2088f]js-soft/ts-documentdb-access (@js-soft/docdb-access-abstractions)
v1.4.5Compare Source
What's Changed
Dependency Updates
Full Changelog: js-soft/ts-documentdb-access@1.4.4...1.4.5
js-soft/ts-linting (@js-soft/eslint-config-ts)
v2.0.11Compare Source
What's Changed
Dependency Updates
New Contributors
Full Changelog: js-soft/ts-linting@2.0.10...2.0.11
js-soft/ts-logging (@js-soft/node-logger)
v1.2.15Compare Source
What's Changed
Dependency Updates
Full Changelog: js-soft/ts-logging@1.2.14...1.2.15
js-soft/ts-utils (@js-soft/ts-utils)
v2.3.9Compare Source
What's Changed
Dependency Updates
Full Changelog: js-soft/ts-utils@2.3.8...2.3.9
nmshd/connector (@nmshd/connector-sdk)
v7.4.12Compare Source
What's Changed
New Features
Dependency Updates
0b35c9eby @renovate[bot] in #1066b96794fby @renovate[bot] in #1069594f3bfby @renovate[bot] in #10679901266by @renovate[bot] in #10682609aafby @renovate[bot] in #1070ada6e65by @renovate[bot] in #1073Full Changelog: nmshd/connector@7.4.11...7.4.12
v7.4.11Compare Source
What's Changed
New Features
Dependency Updates
Configuration
📅 Schedule: (UTC)
* 0-6 * * 3)🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.