SessionTransportTransformerEncrypt

class SessionTransportTransformerEncrypt(    val encryptionKeySpec: SecretKeySpec,     val signKeySpec: SecretKeySpec,     val ivGenerator: (size: Int) -> ByteArray = { size -> ByteArray(size).apply { SecureRandom().nextBytes(this) } },     val encryptAlgorithm: String = encryptionKeySpec.algorithm,     val signAlgorithm: String = signKeySpec.algorithm,     backwardCompatibleRead: Boolean = false)

A transformer used to sign and encrypt/decrypt session data. This transformer works as follows:

By default, it uses AES for encryption and HmacSHA256 for authentication.

You have to provide keys of compatible sizes: 16, 24 and 32 for AES encryption. For HmacSHA256 it is recommended a key of 32 bytes.

Report a problem

See also

Sessions

Constructors

Link copied to clipboard
constructor(    encryptionKey: ByteArray,     signKey: ByteArray,     ivGenerator: (size: Int) -> ByteArray = { size -> ByteArray(size).apply { SecureRandom().nextBytes(this) } },     encryptAlgorithm: String = "AES",     signAlgorithm: String = "HmacSHA256",     backwardCompatibleRead: Boolean = false)
constructor(    encryptionKeySpec: SecretKeySpec,     signKeySpec: SecretKeySpec,     ivGenerator: (size: Int) -> ByteArray = { size -> ByteArray(size).apply { SecureRandom().nextBytes(this) } },     encryptAlgorithm: String = encryptionKeySpec.algorithm,     signAlgorithm: String = signKeySpec.algorithm,     backwardCompatibleRead: Boolean = false)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

is an encryption algorithm name

Link copied to clipboard

A size of the key used to encrypt session data.

Link copied to clipboard

is a secret key that is used for encryption

Link copied to clipboard
val ivGenerator: (size: Int) -> ByteArray

is a function that generates input vectors

Link copied to clipboard

is a signing algorithm name

Link copied to clipboard

is a secret key that is used for signing

Functions

Link copied to clipboard
open fun transformRead(transportValue: String): String?
Link copied to clipboard
open fun transformWrite(transportValue: String): String