ConfirmationClaim

@Serializable
data class ConfirmationClaim(val jsonWebKey: JsonWebKey? = null, val encryptedSymmetricKey: JweEncrypted? = null, val keyId: String? = null, val jsonWebKeySetUrl: String? = null, val jsonWebKeyThumbprint: String? = null)(source)

Structure to declare posession of a particular proof-of-possesion key, to be included in JsonWebToken.confirmationClaim

See RFC 7800

Constructors

Link copied to clipboard
constructor(jsonWebKey: JsonWebKey? = null, encryptedSymmetricKey: JweEncrypted? = null, keyId: String? = null, jsonWebKeySetUrl: String? = null, jsonWebKeyThumbprint: String? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
@SerialName(value = "jwe")
@Serializable(with = JweEncryptedSerializer::class)
val encryptedSymmetricKey: JweEncrypted? = null

RFC 7800: When the key held by the presenter is a symmetric key, the encryptedSymmetricKey member is an encrypted JsonWebKey encrypted to a key known to the recipient using the JWE Compact Serialization containing the symmetric key.

Link copied to clipboard
@SerialName(value = "jwk")
val jsonWebKey: JsonWebKey? = null

RFC 7800: When the key held by the presenter is an asymmetric private key, the jsonWebKey member is a JsonWebKey representing the corresponding asymmetric public key.

Link copied to clipboard
@SerialName(value = "jku")
val jsonWebKeySetUrl: String? = null

RFC 7800: The proof-of-possession key can be passed by reference instead of being passed by value. This is done using the "jku" member. Its value is a URI (RFC3986) that refers to a resource for a set of JSON- encoded public keys represented as a JsonWebKeySet, one of which is the proof-of-possession key. If there are multiple keys in the referenced JWK Set document, a keyId member MUST also be included with the referenced key's JWK also containing the same keyId value.

Link copied to clipboard
@SerialName(value = "jkt")
val jsonWebKeyThumbprint: String? = null

RFC 9449: JWK SHA-256 Thumbprint confirmation method. The value of the jsonWebKeyThumbprint member MUST be the base64url encoding (as defined in RFC7515) of the JWK SHA-256 Thumbprint (according to RFC7638) of the DPoP public key (in JWK format) to which the access token is bound.

Link copied to clipboard
@SerialName(value = "kid")
val keyId: String? = null

RFC 7800: The proof-of-possession key can also be identified by the use of a Key ID instead of communicating the actual key, provided the recipient is able to obtain the identified key using the Key ID.

Functions

Link copied to clipboard