ProximityReaderConfiguration

@Serializable
data class ProximityReaderConfiguration(val issuerRoots: String, val readerKeyID: String? = null, val readerChain: String? = null, val maxClockSkewSeconds: Long? = null, val requireMDLSignerEKU: Boolean = false, val issuerRootsByDocType: Map<String, String> = emptyMap())(source)

A ProximityReader's configuration.

Constructors

Link copied to clipboard
constructor(issuerRoots: String, readerKeyID: String? = null, readerChain: String? = null, maxClockSkewSeconds: Long? = null, requireMDLSignerEKU: Boolean = false, issuerRootsByDocType: Map<String, String> = emptyMap())

Properties

Link copied to clipboard
@SerialName(value = "issuer_roots")
val issuerRoots: String

PEM certificates: the IACAs whose mdocs the reader accepts.

Link copied to clipboard
@SerialName(value = "issuer_roots_by_doctype")
val issuerRootsByDocType: Map<String, String>

Each document type's own IACAs, as PEM certificates: a document of a type named here must chain to them, not to issuerRoots, so an issuer trusted for one document type can't sign another. With it, issuerRoots may be empty, and then only the types named here are accepted.

Link copied to clipboard
@SerialName(value = "max_clock_skew_seconds")
val maxClockSkewSeconds: Long?

Tolerates an issuer's clock this far off the reader's, at most an hour.

Link copied to clipboard
@SerialName(value = "reader_chain")
val readerChain: String?

The reader's PEM certificate chain, leaf first, for readerKeyID.

Link copied to clipboard
@SerialName(value = "reader_key_id")
val readerKeyID: String?

The reader's key in the KeyStore and its PEM certificate chain, leaf first: with both, requests are signed (reader authentication), so holders see who is asking. The leaf should carry the mdoc reader authentication extended key usage (1.0.18013.5.1.6).

Link copied to clipboard
@SerialName(value = "require_mdl_signer_eku")
val requireMDLSignerEKU: Boolean

Accepts only document signers with the mDL document signer extended key usage.