CryptoService

Properties

Link copied to clipboard
abstract val algorithm: CryptoAlgorithm
Link copied to clipboard
abstract 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
abstract val coseKey: CoseKey
Link copied to clipboard
abstract val jsonWebKey: JsonWebKey
Link copied to clipboard
abstract val publicKey: CryptoPublicKey

Functions

Link copied to clipboard
abstract suspend 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>
Link copied to clipboard
abstract fun generateEphemeralKeyPair(ecCurve: EcCurve): KmmResult<EphemeralKeyHolder>
Link copied to clipboard
abstract 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>
Link copied to clipboard
abstract suspend fun sign(input: ByteArray): KmmResult<CryptoSignature>