Package-level declarations

Types

Link copied to clipboard
object ByteArrayBase64Serializer : KSerializer<ByteArray>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class DefaultVerifierJwsService(cryptoService: VerifierCryptoService = DefaultVerifierCryptoService()) : VerifierJwsService
Link copied to clipboard
@Serializable(with = EcCurveSerializer::class)
enum EcCurve : Enum<EcCurve>
Link copied to clipboard
object EcCurveSerializer : KSerializer<EcCurve?>
Link copied to clipboard
@Serializable
data class JsonWebKey(val curve: EcCurve? = null, val type: JwkType? = null, val keyId: String? = null, val x: ByteArray? = null, val y: ByteArray? = null)
Link copied to clipboard
@Serializable
data class JsonWebToken(val issuer: String? = null, val subject: String? = null, val audience: String? = null, val nonce: String? = null, val notBefore: Instant? = null, val issuedAt: Instant? = null, val expiration: Instant? = null, val jwtId: String? = null)

Content of a JWT (JsonWebToken), with many optional keys, since no claim is strongly required.

Link copied to clipboard
Link copied to clipboard
object JweAlgorithmSerializer : KSerializer<JweAlgorithm?>
Link copied to clipboard
data class JweDecrypted(val header: JweHeader, val payload: ByteArray)

Representation of a decrypted JSON Web Encryption object, i.e. header and payload.

Link copied to clipboard
data class JweEncrypted(val headerAsParsed: ByteArray, val encryptedKey: ByteArray? = null, val iv: ByteArray, val ciphertext: ByteArray, val authTag: ByteArray)

Representation of an encrypted JSON Web Encryption object, consisting of its 5 parts: Header, encrypted key, IV, ciphertext, authentication tag.

Link copied to clipboard
Link copied to clipboard
object JweEncryptionSerializer : KSerializer<JweEncryption?>
Link copied to clipboard
@Serializable
data class JweHeader(val algorithm: JweAlgorithm?, val encryption: JweEncryption?, val keyId: String? = null, val type: String?, val contentType: String? = null, val jsonWebKey: JsonWebKey? = null, val ephemeralKeyPair: JsonWebKey? = null, val agreementPartyUInfo: ByteArray? = null, val agreementPartyVInfo: ByteArray? = null)

Header of a JweEncrypted or JweDecrypted.

Link copied to clipboard
@Serializable(with = JwkTypeSerializer::class)
enum JwkType : Enum<JwkType>
Link copied to clipboard
object JwkTypeSerializer : KSerializer<JwkType?>
Link copied to clipboard
Link copied to clipboard
object JwsAlgorithmSerializer : KSerializer<JwsAlgorithm>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Serializable
data class JwsHeader(val algorithm: JwsAlgorithm, val keyId: String? = null, val type: String? = null, val contentType: String? = null, val certificateChain: Array<ByteArray>? = null, val notBefore: Instant? = null, val issuedAt: Instant? = null, val expiration: Instant? = null, val jsonWebKey: JsonWebKey? = null)

Header of a JwsSigned.

Link copied to clipboard
interface JwsService

Creates and parses JWS and JWE objects.

Link copied to clipboard
data class JwsSigned(val header: JwsHeader, val payload: ByteArray, val signature: ByteArray, val plainSignatureInput: String)

Representation of a signed JSON Web Signature object, i.e. consisting of header, payload and signature.

Link copied to clipboard
Link copied to clipboard
data class SdJwtSigned(val jws: JwsSigned, val disclosures: Map<String, SelectiveDisclosureItem?>, val keyBindingJws: JwsSigned? = null)

Representation of a signed SD-JWT (payload is VerifiableCredentialSdJwt), i.e. consisting of an JWS (with header, payload and signature) and several disclosures (SelectiveDisclosureItem) separated by a ~, possibly ending with a JWS with payload KeyBindingJws

Link copied to clipboard
data class TbsCertificate(val version: Int = 2, val serialNumber: Long, val signatureAlgorithm: JwsAlgorithm, val issuerCommonName: String, val validFrom: Instant, val validUntil: Instant, val subjectCommonName: String, val publicKey: CryptoPublicKey)

Very simple implementation of the meat of an X.509 Certificate: The structure that gets signed

Link copied to clipboard
Link copied to clipboard
data class X509Certificate(val tbsCertificate: TbsCertificate, val signatureAlgorithm: JwsAlgorithm, val signature: ByteArray)

Very simple implementation of an X.509 Certificate