DefaultCryptoService

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()
actual constructor()
constructor(keyPair: KeyPair)
constructor(keyPair: KeyPair, certificate: Certificate)
actual constructor()

Properties

Link copied to clipboard
abstract val certificate: ByteArray?

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

open override val certificate: ByteArray

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

override val certificate: ByteArray

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
open override val coseAlgorithm: CoseAlgorithm
open override val coseAlgorithm: CoseAlgorithm
Link copied to clipboard
open val identifier: String
open val identifier: String
open val identifier: String
Link copied to clipboard
open override val jwsAlgorithm: JwsAlgorithm
open override val jwsAlgorithm: JwsAlgorithm

Functions

Link copied to clipboard
abstract suspend fun decrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, authTag: ByteArray, algorithm: JweEncryption): KmmResult<ByteArray>
open suspend override fun decrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, authTag: ByteArray, algorithm: JweEncryption): KmmResult<ByteArray>
open suspend override fun decrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, authTag: ByteArray, algorithm: JweEncryption): KmmResult<ByteArray>
Link copied to clipboard
abstract fun encrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, algorithm: JweEncryption): KmmResult<AuthenticatedCiphertext>
open override fun encrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, algorithm: JweEncryption): KmmResult<AuthenticatedCiphertext>
open override fun encrypt(key: ByteArray, iv: ByteArray, aad: ByteArray, input: ByteArray, algorithm: JweEncryption): KmmResult<AuthenticatedCiphertext>
Link copied to clipboard
abstract fun generateEphemeralKeyPair(ecCurve: EcCurve): KmmResult<EphemeralKeyHolder>
open override fun generateEphemeralKeyPair(ecCurve: EcCurve): KmmResult<EphemeralKeyHolder>
open override fun generateEphemeralKeyPair(ecCurve: EcCurve): KmmResult<EphemeralKeyHolder>
Link copied to clipboard
abstract fun messageDigest(input: ByteArray, digest: Digest): KmmResult<ByteArray>
open override fun messageDigest(input: ByteArray, digest: Digest): KmmResult<ByteArray>
open override fun messageDigest(input: ByteArray, digest: Digest): KmmResult<ByteArray>
Link copied to clipboard
abstract fun performKeyAgreement(ephemeralKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
abstract fun performKeyAgreement(ephemeralKey: EphemeralKeyHolder, recipientKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
open override fun performKeyAgreement(ephemeralKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
open override fun performKeyAgreement(ephemeralKey: EphemeralKeyHolder, recipientKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
open override fun performKeyAgreement(ephemeralKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
open override fun performKeyAgreement(ephemeralKey: EphemeralKeyHolder, recipientKey: JsonWebKey, algorithm: JweAlgorithm): KmmResult<ByteArray>
Link copied to clipboard
abstract suspend fun sign(input: ByteArray): KmmResult<ByteArray>
open suspend override fun sign(input: ByteArray): KmmResult<ByteArray>
open suspend override fun sign(input: ByteArray): KmmResult<ByteArray>
Link copied to clipboard
open override fun toPublicKey(): CryptoPublicKey
open override fun toPublicKey(): CryptoPublicKey