5.3.0
Main features:
- Implement token-status-list-06, replacing implementation of Revocation List 2020
- Implement device response including session transcript and handover structure acc. to ISO/IEC 18013-7 Annex B for mDoc responses
- Update implementation of OpenID4VP to draft 23
Details:
- Implement token-status-list-06, replacing implementation of Revocation List 2020:
Holder
:- Remove
setRevocationList
- Change
StoredCredential
revocation status to token status
- Remove
InMemoryIssuerCredentialStore
:- Change
revoke
semantics totoken status
semantics - Add token status bitsize
- Change iso credential identifier to make it deterministic
- Change
Issuer
:- Change
buildRevocationList
tobuildStatusList
- Add functions for issuing status lists and status list tokens
- Remove
compileCurrentRevocationLists
- Add inheritance from token status agent interfaces
- Change
IssuerAgent
- Add revocation status for iso credentials
- Change revocation status to token status
IssuerCredentialStore
- Change revocation status semantics to token status semantics
Validator
:- Change revocation status to token status
- Change revocation check to token status invalid check by using new status mechanism
- Add validation for status list tokens
Verifier
:- Remove
setRevocationList
- Add
verifyRevocationStatusListJwtIntegrity
andverifyRevocationStatusListCwtIntegrity
- Remove
CoseService
:- Add check without specifying signer (using cose signed public key or trust store)
VerifiableCredential
: ChangecredentialStatus
tostatus
and using new status mechanismVerifiableCredentialSdJwt
: ChangecredentialStatus
to use new status mechanismMobileSecurityObject
: Add status mechanismiosMain/DefaultZlibService
: Verify compression method was deflate when inflating
- Implement device response including session transcript and handover structure acc. to ISO/IEC 18013-7 Annex B for mDoc responses:
CoseService
adds methodcreateSignedCoseWithDetachedPayload
to not serialize the payload in theCoseSigned
structure- Move
at.asitplus.wallet.lib.agent.Holder.PresentationResponseParameters
toat.asitplus.wallet.lib.agent.PresentationResponseParameters
- Move
at.asitplus.wallet.lib.agent.Holder.CreatePresentationResult
toat.asitplus.wallet.lib.agent.CreatePresentationResult
- In
Holder.createPresentation()
replace parameterschallenge
andaudience
withPresentationRequestParameters
, extending the possible inputs for calculating the verifiable presentation - In
Verifier
andVerifierAgent
add methodsverifyPresentationVcJwt()
,verifyPresentationSdJwt()
andverifyPresentationIsoMdoc()
to directly verify typed objects - For verification of credentials and presentations add
ValidationError
cases to sealed classes - In
OidcSiopVerifier
replacestateToNonceStore
andstateToResponseTypeStore
withstateToAuthnRequestStore
- OpenID4VP refactorings:
- Deprecate
OidcSiopVerifier
, useat.asitplus.wallet.lib.openid.OpenId4VpVerifier
instead - Move classes
ClientIdScheme
,RequestOptions
,AuthResponseResult
out ofOpenId4VpVerifier
- Change type of
RequestOptionsCredential.requestedAttributes
fromList
toSet
- Change type of
RequestOptionsCredential.requestedOptionalAttributes
fromList
toSet
- Deprecate
OidcSiopWallet
, useat.asitplus.wallet.lib.openid.OpenId4VpHolder
instead - Move
RequestObjectJwsVerifier
fromat.asitplus.wallet.lib.oidc
toat.asitplus.wallet.lib.openid
- Move
RemoteResourceRetrieverFunction
fromat.asitplus.wallet.lib.oidc
toat.asitplus.wallet.lib
- Move
AuthorizationResponsePreparationState
fromat.asitplus.wallet.lib.oidc.helpers
toat.asitplus.wallet.lib.openid
- Deprecate
- Update implementation of OpenID4VP to draft 23:
- Support credential format identifier
dc+sd-jwt
in addition tovc+sd-jwt
- Drop
client_id_scheme
and encode it as a prefix toclient_id
- Set
vp_formats_supported
in wallet's metadata - Remove
OpenId4VpVerifier.createSignedMetadata()
, as signed metadata is not covered by any spec - Remove
OpenId4VpVerifier.createQrCodeUrl()
, replace withcreateAutnRequest(requestOptions, creationOptions)
andCreationOptions.RequestByReference
- Remove
OpenId4VpVerifier.createAuthnRequestUrl()
, replace withcreateAutnRequest(requestOptions, creationOptions)
andCreationOptions.Query
- Remove
OpenId4VpVerifier.createAuthnRequestUrlWithRequestObject()
, replace withcreateAutnRequest(requestOptions, creationOptions)
andCreationOptions.RequestByValue
- Remove
OpenId4VpVerifier.createAuthnRequestUrlWithRequestObjectByReference()
, replace withcreateAutnRequest(requestOptions, creationOptions)
andCreationOptions.RequestByReference
- Add explicit
redirect_uri
to allClientIdSchemes
forOpenId4VpVerifier
- Sub classes of
ClientIdScheme
are not data classes, to allow passing parameters with the same names as the sealed base class - Verify requirements whether requests must or must not be signed acc. to the client identifier scheme
- Support
wallet_nonce
andrequest_uri_method
for replay detection on Wallet side
- Support credential format identifier
- General cleanup:
- Remove
SchemaIndex
- Remove
VcLibException
- Remove
- Dependency updates:
- Update signum to 3.12.1