Package-level declarations

Types

Link copied to clipboard
@Serializable
@SerialName(value = "android-key")
data class AndroidKeystoreAttestation(val certificateChain: CertificateChain) : Attestation
Link copied to clipboard
@Serializable
sealed interface Attestation
Link copied to clipboard

PKCS#8 Representation of a private key structure as per RFC 5208 Equality checks are performed wrt. cryptographic properties.

Link copied to clipboard

Representation of a public key structure

Link copied to clipboard

Interface which holds Asn1 Encoding of a signature of a specified algorithm Allows simple ASN1 - Raw transformation of signature values

Link copied to clipboard
Link copied to clipboard

EC Curve Class jwkName really does use established JWK curve names

Link copied to clipboard
object ECCurveSerializer : KSerializer<ECCurve>
Link copied to clipboard
sealed class ECPoint

elliptic curve point in homogeneous coordinates (X,Y,Z) to access affine coordinates, normalize the point. the point at infinity cannot be normalized.

Link copied to clipboard
object ECPointSerializer : KSerializer<ECPoint.Normalized>
Link copied to clipboard
class EncryptedPrivateKey(val encryptionAlgorithm: ObjectIdentifier, val encryptedData: ByteArray) : PemEncodable<Asn1Sequence>

Representation of an encrypted private key structure as per RFC 5208

Link copied to clipboard
@Serializable
@SerialName(value = "ios-appattest")
data class IosHomebrewAttestation(val attestation: ByteArray, val clientDataJSON: ByteArray) : Attestation
Link copied to clipboard
Link copied to clipboard
@Serializable
@SerialName(value = "self")
data class SelfAttestation(val certificate: X509Certificate) : Attestation
Link copied to clipboard
sealed interface SignatureAlgorithm
Link copied to clipboard

Properties

Link copied to clipboard
Link copied to clipboard

Returns the length of a private key, when it is exported from iOS. This is handy, because Apple does not encode curve identifiers, but implies them based on the length of the key

Link copied to clipboard

Returns the length of a public key, when it is exported from iOS. This is handy, because Apple does not encode curve identifiers, but implies them based on the length of the key

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

In Java EC signatures are returned as DER-encoded, RSA signatures however are raw bytearrays

Link copied to clipboard
Link copied to clipboard

A digest well-suited to operations on this curve, with output length near the curve's coordinate length.

Link copied to clipboard
Link copied to clipboard
val StrictJson: Json

Functions

Link copied to clipboard
Link copied to clipboard
inline fun UInt.ceilDiv(other: UInt): UInt
Link copied to clipboard
infix inline fun <T> Any.contentEqualsIfArray(other: T): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Returns the curve associated with a public key exported from iOS based on the length of the key material This is handy, because Apple does not encode curve identifiers, but implies them based on the length of the key

Link copied to clipboard

Returns the curve associated with a public key exported from iOS based on the length of the key material This is handy, because Apple does not encode curve identifiers, but implies them based on the length of the key

Link copied to clipboard
fun SignatureAlgorithm.getJCASignatureInstance(provider: String? = null): KmmResult<Signature>

Get a pre-configured JCA instance for this algorithm

Link copied to clipboard

Get a pre-configured JCA instance for pre-hashed data for this algorithm

Link copied to clipboard

Parses a signature produced by the JCA digestwithECDSA algorithm.


In Java EC signatures are returned as DER-encoded, RSA signatures however are raw bytearrays

Link copied to clipboard

Parses a signature produced by the JCA digestWithECDSAinP1363Format algorithm.

Link copied to clipboard

Converts this X509Certificate to a java.security.cert.X509Certificate. This function is suspending, because it uses a mutex to lock the underlying certificate factory (which is reused for performance reasons

Link copied to clipboard

blocking implementation of toJcaCertificate

Link copied to clipboard
fun CryptoPrivateKey.WithPublicKey<*>.toSecKey(): KmmResult<SecKeyRef>

Converts this privateKey into a SecKeyRef, making it usable on iOS

Link copied to clipboard

Finds a X.509 signature algorithm matching this algorithm. Curve restrictions are not preserved.