Package-level declarations

Types

Link copied to clipboard
@Serializable
data class EncryptedPrivateKeyInfo(val encryptionAlgorithm: X509AlgorithmIdentifier, val encryptedData: Asn1OctetString) : WithPemLabel

As per RFC5208:

Link copied to clipboard

BIT STRING wrapper that preserves malformed (non-zeroed-out) padding bits.

Link copied to clipboard
@Serializable
data class Pkcs1RsaOtherPrimeInfo(val prime: Asn1Integer.Positive, val exponent: Asn1Integer.Positive, val coefficient: Asn1Integer.Positive)

As per RFC8017:

Link copied to clipboard
@Serializable
data class Pkcs1RsaPrivateKeyInfo(val version: Pkcs1RsaPrivateKeyInfo.Version, val modulus: Asn1Integer.Positive, val publicExponent: Asn1Integer.Positive, val privateExponent: Asn1Integer.Positive, val prime1: Asn1Integer.Positive, val prime2: Asn1Integer.Positive, val exponent1: Asn1Integer.Positive, val exponent2: Asn1Integer.Positive, val coefficient: Asn1Integer.Positive, val otherPrimeInfos: List<Pkcs1RsaOtherPrimeInfo>? = null) : WithPemLabel

As per RFC8017:

Link copied to clipboard
@Serializable
data class Pkcs1RsaPublicKeyInfo(val modulus: Asn1Integer, val publicExponent: Asn1Integer) : WithPemLabel

As per RFC8017:

Link copied to clipboard
@Serializable
data class Pkcs8PrivateKeyInfo(val version: Pkcs8PrivateKeyInfo.Version, val privateKeyAlgorithm: X509AlgorithmIdentifier, val privateKey: Asn1Element, val attributes: Set<Asn1Element>? = null) : WithPemLabel

As per RFC5208:

Link copied to clipboard
@Serializable
sealed interface RsaParams
Link copied to clipboard
@Serializable
object RsaPkcs1PaddingParams : RsaParams

This is just NULL, but we need a common interface for RSA

Link copied to clipboard
@Serializable
data class RsaSsaPssParams : RsaParams

RSASSA-PSS parameters as specified by RFC 4055, section 3.1:

Link copied to clipboard
@Serializable
data class Sec1EcPrivateKeyInfo : WithPemLabel

As per RFC5915:

Link copied to clipboard
Link copied to clipboard
@Serializable
data class SubjectPublicKeyInfo(val algorithmIdentifier: X509AlgorithmIdentifier, val subjectPublicKey: Asn1BitString) : WithPemLabel

As per RFC5280:

Link copied to clipboard
@Serializable
value class X509AlgorithmIdentifier(val element: Asn1Sequence) : Identifiable

As per RFC5280:

Link copied to clipboard
@Serializable
value class X509SignatureValue(val rawBitString: Asn1BitString)

As per RFC5280:

Properties

Link copied to clipboard

Non-throwing variante of LenientBitString.strict that returns null if the bit string is malformed.