DefaultCryptoService

actual class DefaultCryptoService : CryptoService

Default implementation of a crypto service for iOS.

The primary goal is to provide a minimal implementation so that unit tests in the commonTest module run successfully.

Beware: It does not implement encryption, decryption, key agreement and message digest correctly.

Constructors

Link copied to clipboard
expect constructor()
constructor(certificateExtensions: List<X509CertificateExtension>)
actual constructor()
constructor(keyPair: KeyPair, algorithm: CryptoAlgorithm, certificateExtensions: List<X509CertificateExtension> = listOf())

Constructor which allows all public keys implemented in KMP-Crypto Because RSA needs the algorithm parameter to be useful (as it cannot be inferred from the key) it's mandatory Also used for custom certificates

actual constructor()

Default constructor without arguments is ES256

Types

Link copied to clipboard
expect object Companion
actual object Companion
actual object Companion

Properties

Link copied to clipboard
expect open override val algorithm: CryptoAlgorithm
actual open override val algorithm: CryptoAlgorithm
actual override val algorithm: CryptoAlgorithm
Link copied to clipboard
expect open override val certificate: X509Certificate?

May be used in at.asitplus.wallet.lib.cbor.CoseService to transport the signing key for a COSE structure. a null value signifies that raw public keys are used and no certificate is present

actual open override val certificate: X509Certificate?
actual override val certificate: X509Certificate?

May be used in at.asitplus.wallet.lib.cbor.CoseService to transport the signing key for a COSE structure. a null value signifies that raw public keys are used and no certificate is present

Link copied to clipboard
expect open override val coseKey: CoseKey
actual open override val coseKey: CoseKey
actual override val coseKey: CoseKey
Link copied to clipboard
expect open override val jsonWebKey: JsonWebKey
actual open override val jsonWebKey: JsonWebKey
actual override val jsonWebKey: JsonWebKey
Link copied to clipboard
expect open override val publicKey: CryptoPublicKey
actual open override val publicKey: CryptoPublicKey
actual override val publicKey: CryptoPublicKey

Functions

Link copied to clipboard
expect open suspend override fun decrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, authTag: ByteArray, algorithm: JweEncryption): KmmResult<ByteArray>
actual open suspend override fun decrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, authTag: ByteArray, algorithm: JweEncryption): KmmResult<ByteArray>
actual open suspend override fun decrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, authTag: ByteArray, algorithm: JweEncryption): KmmResult<ByteArray>
Link copied to clipboard
expect open suspend override fun doSign(input: ByteArray): KmmResult<CryptoSignature>
actual open suspend override fun doSign(input: ByteArray): KmmResult<CryptoSignature>
actual open suspend override fun doSign(input: ByteArray): KmmResult<CryptoSignature>
Link copied to clipboard
expect open override fun encrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, algorithm: JweEncryption): KmmResult<AuthenticatedCiphertext>
actual open override fun encrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, algorithm: JweEncryption): KmmResult<AuthenticatedCiphertext>
actual open override fun encrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, algorithm: JweEncryption): KmmResult<AuthenticatedCiphertext>
Link copied to clipboard
expect open override fun generateEphemeralKeyPair(ecCurve: ECCurve): KmmResult<EphemeralKeyHolder>
actual open override fun generateEphemeralKeyPair(ecCurve: ECCurve): KmmResult<EphemeralKeyHolder>
actual open override fun generateEphemeralKeyPair(ecCurve: ECCurve): KmmResult<EphemeralKeyHolder>
Link copied to clipboard
expect open override fun messageDigest(input: ByteArray, digest: Digest): KmmResult<ByteArray>
actual open override fun messageDigest(input: ByteArray, digest: Digest): KmmResult<ByteArray>
actual open override fun messageDigest(input: ByteArray, digest: Digest): KmmResult<ByteArray>
Link copied to clipboard
expect open override fun performKeyAgreement(ephemeralKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
expect open override fun performKeyAgreement(ephemeralKey: EphemeralKeyHolder, recipientKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
actual open override fun performKeyAgreement(ephemeralKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
actual open override fun performKeyAgreement(ephemeralKey: EphemeralKeyHolder, recipientKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
actual open override fun performKeyAgreement(ephemeralKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
actual open override fun performKeyAgreement(ephemeralKey: EphemeralKeyHolder, recipientKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
sign
Link copied to clipboard
open suspend fun sign(input: ByteArray): KmmResult<CryptoSignature.RawByteEncodable>
open suspend fun sign(input: ByteArray): KmmResult<CryptoSignature.RawByteEncodable>
open suspend fun sign(input: ByteArray): KmmResult<CryptoSignature.RawByteEncodable>