QesApprovalRequest

@SerialName(value = "https://cloudsignatureconsortium.org/2025/qes-approval")
data class QesApprovalRequest(val credentialIds: Set<String> = emptySet(), val locations: List<String>? = null, val credentialId: String? = null, val numSignatures: Int, val signatureQualifier: SignatureQualifier? = null, val documentDigests: List<QesApprovalDocument>, val hashAlgorithmOid: ObjectIdentifier, val transactionDataHashAlgorithms: Set<String>? = null) : TransactionData(source)

CSC Data Model Bindings 1.0.0 section 7.1: REQUIRED qesApprovalRequest transaction data; the type discriminator is required. At least one of credentialId or signatureQualifier is required.

Constructors

Link copied to clipboard
constructor(credentialIds: Set<String> = emptySet(), locations: List<String>? = null, credentialId: String? = null, numSignatures: Int, signatureQualifier: SignatureQualifier? = null, documentDigests: List<QesApprovalDocument>, hashAlgorithmOid: ObjectIdentifier, transactionDataHashAlgorithms: Set<String>? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
@SerialName(value = "credentialID")
val credentialId: String?

CSC Data Model Bindings 1.0.0 section 7.1: CONDITIONAL Required when signatureQualifier is absent; at least one of these two identifiers is required.

Link copied to clipboard
@SerialName(value = "credential_ids")
@EncodeDefault(mode = EncodeDefault.Mode.NEVER)
open override val credentialIds: Set<String>

OpenID4VP credential query: CONDITIONAL Required when the transaction protocol identifies the approval credential through a credential query.

Link copied to clipboard
@SerialName(value = "documentDigests")
val documentDigests: List<QesApprovalDocument>

ETSI TS 119 432 Annex B.6.2: REQUIRED Documents covered by this approval.

Link copied to clipboard
@SerialName(value = "hashAlgorithmOID")
@Serializable(with = ObjectIdentifierStringSerializer::class)
val hashAlgorithmOid: ObjectIdentifier

CSC Data Model Bindings 1.0.0 section 7.1: REQUIRED Hash algorithm OID for qesApproval.

Link copied to clipboard
@SerialName(value = "locations")
val locations: List<String>?

CSC Data Model Bindings 1.0.0 section 7.1: OPTIONAL Locations of remote signing service providers (RFC 9396).

Link copied to clipboard
@SerialName(value = "numSignatures")
val numSignatures: Int

CSC Data Model Bindings 1.0.0 section 7.1: REQUIRED Number of signatures to authorize; MUST be at least one.

Link copied to clipboard
@SerialName(value = "signatureQualifier")
val signatureQualifier: SignatureQualifier?

CSC Data Model Bindings 1.0.0 section 7.1: CONDITIONAL Required when credentialId is absent; at least one of these two identifiers is required.

Link copied to clipboard
@SerialName(value = "transaction_data_hashes_alg")
open override val transactionDataHashAlgorithms: Set<String>?

OpenID4VP Annex B.3.3.1: OPTIONAL Hash algorithm identifiers for SD-JWT VC transaction-data binding.

Functions

Link copied to clipboard
fun TransactionData.digest(digest: Digest): ByteArray