DCQLIsoMdocCredentialQuery

@Serializable
data class DCQLIsoMdocCredentialQuery(val id: DCQLCredentialQueryIdentifier, val format: CredentialFormatEnum, val meta: DCQLIsoMdocCredentialMetadataAndValidityConstraints, val claims: DCQLClaimsQueryList<DCQLIsoMdocClaimsQuery>? = null, val claimSets: NonEmptyList<List<DCQLClaimsQueryIdentifier>>? = null, val multiple: Boolean? = false, val trustedAuthorities: List<String>? = null, val requireCryptographicHolderBinding: Boolean? = true) : DCQLCredentialQuery(source)

Constructors

Link copied to clipboard
constructor(id: DCQLCredentialQueryIdentifier, format: CredentialFormatEnum, meta: DCQLIsoMdocCredentialMetadataAndValidityConstraints, claims: DCQLClaimsQueryList<DCQLIsoMdocClaimsQuery>? = null, claimSets: NonEmptyList<List<DCQLClaimsQueryIdentifier>>? = null, multiple: Boolean? = false, trustedAuthorities: List<String>? = null, requireCryptographicHolderBinding: Boolean? = true)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
object Procedures
Link copied to clipboard

Properties

Link copied to clipboard
@SerialName(value = "claims")
open override val claims: DCQLClaimsQueryList<DCQLIsoMdocClaimsQuery>? = null

OID4VP 1.0: claims: OPTIONAL. A non-empty array of objects as defined in Section 6.3 that specifies claims in the requested Credential. Verifiers MUST NOT point to the same claim more than once in a single query. Wallets SHOULD ignore such duplicate claim queries.

Link copied to clipboard
@SerialName(value = "claim_sets")
open override val claimSets: NonEmptyList<List<DCQLClaimsQueryIdentifier>>? = null

OID4VP 1.0: claim_sets: OPTIONAL. A non-empty array containing arrays of identifiers for elements in claims that specifies which combinations of claims for the Credential are requested. The rules for selecting claims to send are defined in Section 6.4.1.

Link copied to clipboard
@SerialName(value = "format")
open override val format: CredentialFormatEnum

OID4VP 1.0: format: REQUIRED. A string that specifies the format of the requested Verifiable Credential. Valid Credential Format Identifier values are defined in Appendix B.

Link copied to clipboard
@SerialName(value = "id")
open override val id: DCQLCredentialQueryIdentifier

OID4VP 1.0: id: REQUIRED. A string identifying the Credential in the response and, if provided, the constraints in credential_sets. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the Authorization Request, the same id MUST NOT be present more than once.

Link copied to clipboard
@SerialName(value = "meta")
open override val meta: DCQLIsoMdocCredentialMetadataAndValidityConstraints

OID4VP 1.0: meta: REQUIRED. An object defining additional properties requested by the Verifier that apply to the metadata and validity data of the Credential. The properties of this object are defined per Credential Format. Examples of those are in Appendix B.3.5 and Appendix B.2.3. If empty, no specific constraints are placed on the metadata or validity of the requested Credential.

Link copied to clipboard
@SerialName(value = "multiple")
open override val multiple: Boolean? = false

OID4VP 1.0: multiple: OPTIONAL. A boolean which indicates whether multiple Credentials can be returned for this Credential Query. If omitted, the default value is false.

Link copied to clipboard
@SerialName(value = "require_cryptographic_holder_binding")
open override val requireCryptographicHolderBinding: Boolean? = true

OID4VP: require_cryptographic_holder_binding: OPTIONAL. A boolean which indicates whether the Verifier requires a Cryptographic Holder Binding proof. The default value is true, i.e., a Verifiable Presentation with Cryptographic Holder Binding is required. If set to false, the Verifier accepts a Credential without Cryptographic Holder Binding proof.

Link copied to clipboard
@SerialName(value = "trusted_authorities")
open override val trustedAuthorities: List<String>? = null

OID4VP 1.0: trusted_authorities: OPTIONAL. A non-empty array of objects as defined in Section 6.1.1 that specifies expected authorities or trust frameworks that certify Issuers, that the Verifier will accept. Every Credential returned by the Wallet SHOULD match at least one of the conditions present in the corresponding trusted_authorities array if present.

Functions

Link copied to clipboard
open fun <Credential : Any> executeCredentialQueryAgainstCredential(credential: Credential, credentialFormatExtractor: (Credential) -> CredentialFormatEnum, mdocCredentialDoctypeExtractor: (Credential) -> String, sdJwtCredentialTypeExtractor: (Credential) -> String, credentialClaimStructureExtractor: (Credential) -> DCQLCredentialClaimStructure): KmmResult<DCQLCredentialQueryMatchingResult>

6.3.1.1. Selecting Claims