Package-level declarations

Types

Link copied to clipboard

Algorithm identifiers.

Link copied to clipboard

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.

actual object Crypto
Link copied to clipboard

Elliptic curve identifiers.

Link copied to clipboard
sealed class EcPrivateKey : PrivateKey

An EC private key.

Link copied to clipboard

EC Private Key with two coordinates.

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

EC Private Key with Octet Key Pairs.

Link copied to clipboard
sealed class EcPublicKey : PublicKey

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) : Signature

An Elliptic Curve Cryptography signature.

Link copied to clipboard
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
class KemResult(val sharedSecret: SecureByteString, val ciphertext: ByteArray) : AutoCloseable

Result of a Key Encapsulation Mechanism (KEM) encapsulation operation.

Link copied to clipboard
class MlDsaPrivateKey(val algorithm: Algorithm, encoded: ByteArray, val publicKey: MlDsaPublicKey) : PrivateKey

An ML-DSA (FIPS 204) private key.

Link copied to clipboard
data class MlDsaPublicKey(val algorithm: Algorithm, val encoded: ByteString) : PublicKey

An ML-DSA (FIPS 204) public key.

Link copied to clipboard
data class MlDsaSignature(val signature: ByteArray) : Signature

An ML-DSA digital signature (FIPS 204).

Link copied to clipboard
class MlKemPrivateKey(val algorithm: Algorithm, encoded: ByteArray, val publicKey: MlKemPublicKey) : PrivateKey

An ML-KEM (FIPS 203) private key.

Link copied to clipboard
data class MlKemPublicKey(val algorithm: Algorithm, val encoded: ByteString) : PublicKey

An ML-KEM (FIPS 203) public key.

Link copied to clipboard
data class Pkcs12(val privateKey: EcPrivateKey, val certChain: X509CertChain)

A PKCS#12 (PFX) container holding an EC private key and its associated certificate chain according to RFC 7292.

Link copied to clipboard
class Pkcs12WrongPassphraseException(message: String, cause: Throwable? = null) : Exception

Thrown when decoding a PKCS#12 archive fails due to an invalid passphrase, MAC verification failure, or cipher padding error.

Link copied to clipboard
sealed class PrivateKey : AutoCloseable

An asymmetric private key.

Link copied to clipboard
sealed class PublicKey

An asymmetric public key.

Link copied to clipboard
interface RsaHashedKeyGenParams : Algorithm
Link copied to clipboard
class RsaPrivateKey(val publicKey: RsaPublicKey, privateExponent: ByteArray, p: ByteArray? = null, q: ByteArray? = null, dp: ByteArray? = null, dq: ByteArray? = null, qInv: ByteArray? = null) : PrivateKey

An RSA Private Key.

Link copied to clipboard
interface RsaPssParams : Algorithm
Link copied to clipboard
data class RsaPublicKey(val modulus: ByteArray, val publicExponent: ByteArray) : PublicKey

An RSA Public Key.

Link copied to clipboard
data class RsaSignature(val signature: ByteArray) : Signature

An RSA digital signature.

Link copied to clipboard
class SecretKey(keyMaterial: ByteArray) : SecureByteString

A cryptographic secret key (symmetric key or shared secret) with memory clearing on disposal.

Link copied to clipboard

An immutable sequence of bytes containing sensitive data with memory clearing on disposal.

Link copied to clipboard

Base class for all security exceptions.

Link copied to clipboard
sealed interface Signature

A digital signature produced by an asymmetric private key.

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

Exception thrown when X509 certificate chain validation fails.

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).

Link copied to clipboard
interface XdhKeyDeriveParams : Algorithm

Properties

Link copied to clipboard
val RsaPrivateKey.javaPrivateKey: ERROR CLASS: Symbol not found for RSAPrivateKey
Link copied to clipboard
val RsaPublicKey.javaPublicKey: ERROR CLASS: Symbol not found for RSAPublicKey
Link copied to clipboard
val X509Cert.javaX509Certificate: ERROR CLASS: Symbol not found for X509Certificate

The Java X509 certificate from the encoded certificate data.

Link copied to clipboard
val X509CertChain.javaX509Certificates: List<ERROR CLASS: Symbol not found for X509Certificate>

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

Functions

Link copied to clipboard
inline suspend fun buildX509Cert(publicKey: PublicKey, 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
inline suspend fun buildX509Crl(signingKey: AsymmetricKey, issuer: X500Name, thisUpdate: Instant, nextUpdate: Instant?, block: X509Crl.Builder.() -> Unit): X509Crl
Link copied to clipboard
suspend fun Crypto.checkSignature(publicKey: PublicKey, message: ByteArray, algorithm: Algorithm, signature: Signature)

Checks signature validity for a generic PublicKey and Signature.

Link copied to clipboard
fun X509CertChain.Companion.fromJavaX509Certificates(javaX509Certificates: Array<ERROR CLASS: Symbol not found for Certificate>): X509CertChain
fun X509CertChain.Companion.fromJavaX509Certificates(javaX509Certificates: List<ERROR CLASS: Symbol not found for X509Certificate>): X509CertChain
Link copied to clipboard
expect fun ByteArray.secureZero()

Securely zeroes out the contents of this byte array in memory.

actual fun ByteArray.secureZero()
actual fun ByteArray.secureZero()
actual fun ByteArray.secureZero()
Link copied to clipboard
suspend fun Crypto.sign(key: PrivateKey, signatureAlgorithm: Algorithm, message: ByteArray): Signature

Signs data with a private key.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun ERROR CLASS: Symbol not found for JavaPrivateKey.toRsaPrivateKey(publicKey: RsaPublicKey? = null): RsaPrivateKey
Link copied to clipboard
fun ERROR CLASS: Symbol not found for JavaPublicKey.toRsaPublicKey(): RsaPublicKey
Link copied to clipboard

Creates a SecretKey from this byte array. A defensive copy of the key material is stored.

Converts this SecureByteString to a SecretKey.

Link copied to clipboard

Creates a SecureByteString from this byte array. A defensive copy of the data is stored.