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(keyPairAdapter: KeyPairAdapter)
actual constructor(keyPairAdapter: KeyPairAdapter)
constructor(keyPair: KeyPair, algorithm: X509SignatureAlgorithm)

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(keyPairAdapter: KeyPairAdapter)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
expect open override val keyPairAdapter: KeyPairAdapter
actual open override val keyPairAdapter: KeyPairAdapter
actual override val keyPairAdapter: KeyPairAdapter

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>