com.banno.vault.transit

Type members

Classlikes

final class Base64 extends AnyVal

A String wrapper class, to ensure that the string inside is a valid Base64 string, as those used in Vault to represent plaintext and context.

A String wrapper class, to ensure that the string inside is a valid Base64 string, as those used in Vault to represent plaintext and context.

Companion
object
object Base64
Companion
class
final case class CipherText(ciphertext: String) extends AnyVal

In the Vault Transit, cipher-texts are Base64 strings preceded by the "vault:v1:" prefix text. We our special wrapper class to represent Base64 Strings.

In the Vault Transit, cipher-texts are Base64 strings preceded by the "vault:v1:" prefix text. We our special wrapper class to represent Base64 Strings.

Companion
object
object CipherText
Companion
class
final case class Context(context: Base64)

A tagged-like newtype used to indicate that a Base64 value is the user-supplied context used in key derivation. "Key derivation allows the same key to be used for multiple purposes by deriving a new key based on a user-supplied context value

A tagged-like newtype used to indicate that a Base64 value is the user-supplied context used in key derivation. "Key derivation allows the same key to be used for multiple purposes by deriving a new key based on a user-supplied context value

https://www.vaultproject.io/docs/secrets/transit/index.html#transit-secrets-engine

Companion
object
object Context
Companion
class
final case class EncryptRequest(plaintext: PlainText, context: Option[Context])
Companion
object
Companion
class
final case class KeyDetails(name: String, isConvergent: Boolean, isDerived: Boolean, versions: Map[Int, Instant], cipher: String)
Companion
object
object KeyDetails
Companion
class
final case class KeyName(name: String)
final case class PlainText(plaintext: Base64)

A tagged-like newtype used to indicate that a Base64 value is a plaintext we want to encrypt.

A tagged-like newtype used to indicate that a Base64 value is a plaintext we want to encrypt.

Companion
object
object PlainText
Companion
class
object Transit
final class TransitClient[F[_]](client: Client[F], vaultUri: Uri, token: String, key: KeyName)(F: Sync[F])

A TransitClient represents an authenticated connection to a vault transit service. The way we see to use it is that, in your application you may have a certain type of data that you want to encrypt or decrypt using Vault transit, with a key that is fixed for that data.

A TransitClient represents an authenticated connection to a vault transit service. The way we see to use it is that, in your application you may have a certain type of data that you want to encrypt or decrypt using Vault transit, with a key that is fixed for that data.

final case class TransitError(error: String)