Package-level declarations

Types

Link copied to clipboard

Algorithm identifiers.

Link copied to clipboard
sealed class AsymmetricKey

Private key that can be used to sign messages or used for key agreement, optionally with some kind of identification.

Link copied to clipboard
expect object Crypto

Cryptographic support routines.

actual object Crypto
actual object Crypto

Cryptographic support routines.

Link copied to clipboard

Elliptic curve identifiers.

Link copied to clipboard
sealed class EcPrivateKey

An EC private key.

Link copied to clipboard
data class EcPrivateKeyDoubleCoordinate(val curve: EcCurve, val d: ByteArray, val x: ByteArray, val y: ByteArray) : EcPrivateKey

EC Private Key with two coordinates.

Link copied to clipboard
data class EcPrivateKeyOkp(val curve: EcCurve, val d: ByteArray, val x: ByteArray) : EcPrivateKey

EC Private Key with Octet Key Pairs.

Link copied to clipboard
sealed class EcPublicKey

An EC Public Key.

Link copied to clipboard
data class EcPublicKeyDoubleCoordinate(val curve: EcCurve, val x: ByteArray, val y: ByteArray) : EcPublicKey

EC Public Key with two coordinates.

Link copied to clipboard
data class EcPublicKeyOkp(val curve: EcCurve, val x: ByteArray) : EcPublicKey

EC Public Key with Octet Key Pairs.

Link copied to clipboard
data class EcSignature(val r: ByteArray, val s: ByteArray)

An Elliptic Curve Cryptography signature.

Link copied to clipboard
object Hkdf

HMAC-based Extract-and-Expand Key Derivation Function (HKDF) according to RFC 5869.

Link copied to clipboard
object Hpke

Hybrid Public Key Encryption according to RFC 9180.

Link copied to clipboard

JSON Web Encryption (JWE) support routines

Link copied to clipboard

JSON Web Signature support

Link copied to clipboard

Base class for all security exceptions.

Link copied to clipboard

Exception thrown when a cryptographic signature fails to validate.

Link copied to clipboard
class X500Name(val components: Map<String, ASN1String>)

This represents a X.501 Name as used for X.509 certificates.

Link copied to clipboard
data class X509Cert(val encoded: ByteString) : X509Signed

A data type for a X.509 certificate.

Link copied to clipboard
data class X509CertChain(val certificates: List<X509Cert>)

A chain of certificates.

Link copied to clipboard
data class X509Crl(val encoded: ByteString) : X509Signed

X.509 CRL (Certificate Revocation List).

Link copied to clipboard
data class X509Extension(val oid: String, val isCritical: Boolean, val data: ByteString)

A data type representing an X.509 certificate extension information.

Link copied to clipboard
Link copied to clipboard
sealed class X509Signed

Base class for signed X.509 sequences: certificates and CRLs.

Link copied to clipboard

Base builder class for X509 signed sequences (certificates and CRLs).

Properties

Link copied to clipboard
val EcPrivateKey.javaPrivateKey: <Error class: unknown class>
Link copied to clipboard
val EcPublicKey.javaPublicKey: <Error class: unknown class>
Link copied to clipboard
val X509Cert.javaX509Certificate: <Error class: unknown class>

The Java X509 certificate from the encoded certificate data.

Link copied to clipboard
val X509CertChain.javaX509Certificates: List<<Error class: unknown class>>

Converts the certificate chain to a list of Java X.509 certificates.

Functions

Link copied to clipboard
suspend fun buildCrl(signingKey: AsymmetricKey, issuer: X500Name, thisUpdate: Instant, nextUpdate: Instant?, block: X509Crl.Builder.() -> Unit): X509Crl
Link copied to clipboard
suspend fun buildX509Cert(publicKey: EcPublicKey, signingKey: AsymmetricKey, serialNumber: ASN1Integer, subject: X500Name, issuer: X500Name, validFrom: Instant, validUntil: Instant, builderAction: X509Cert.Builder.() -> Unit): X509Cert

Builds a new X509Cert.

Link copied to clipboard
fun X509CertChain.Companion.fromJavaX509Certificates(javaX509Certificates: Array<<Error class: unknown class>>): X509CertChain
fun X509CertChain.Companion.fromJavaX509Certificates(javaX509Certificates: List<<Error class: unknown class>>): X509CertChain
Link copied to clipboard
fun <Error class: unknown class>.toEcPrivateKey(publicKey: <Error class: unknown class>, curve: EcCurve): EcPrivateKey
Link copied to clipboard
fun <Error class: unknown class>.toEcPublicKey(curve: EcCurve): EcPublicKey