SessionTransportTransformerEncrypt

class SessionTransportTransformerEncrypt(encryptionKeySpec: SecretKeySpec, signKeySpec: SecretKeySpec, ivGenerator: (size: Int) -> ByteArray, encryptAlgorithm: String, signAlgorithm: String) : SessionTransportTransformer

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.

See also

Constructors

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

Types

Link copied to clipboard
object Companion

Functions

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

Untransforms a transportValue that represents a transformed session.

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

Transforms a transportValue that represents session data.

Properties

Link copied to clipboard
val encryptAlgorithm: String

is an encryption algorithm name

Link copied to clipboard
val encryptionKeySize: Int

A size of the key used to encrypt session data.

Link copied to clipboard
val encryptionKeySpec: SecretKeySpec

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
val signAlgorithm: String

is a signing algorithm name

Link copied to clipboard
val signKeySpec: SecretKeySpec

is a secret key that is used for signing