Crate trelent_hyok

Source
Expand description

Hold Your Own Key (HYOK) encryption service.

This library provides a flexible system for managing encrypted data using customer-managed encryption keys. It supports:

  • Multiple key management services (AWS KMS, Azure Key Vault)
  • Custom encryption strategies
  • Key caching and persistence
  • Type-safe data handling

The library follows the envelope encryption pattern where data is encrypted with Data Encryption Keys (DEKs) which are themselves protected by Customer Managed Keys (CMKs).

Modules§

cache
cmk
Customer Managed Key (CMK) management and operations.
dek
Data Encryption Key (DEK) management and operations.
encryption
Data encryption strategies and implementations.
error
Error types used throughout the DEK management system.

Structs§

HYOKService
Main service for managing encrypted data using the HYOK pattern.
HYOKServiceBuilder
Builder for configuring and creating HYOK service instances.
HeldValue
A container for encrypted data that can be released into different types.

Enums§

CMKConfig
Configuration options for Customer Managed Keys (CMKs).
CacheConfig
Configuration options for DEK caching.
GeneratorConfig
Configuration options for DEK generation.
PersisterConfig
Configuration options for DEK persistence.

Traits§

ReleaseHeldObject
A trait for releasing encrypted objects using a specific encryption strategy.
ReleaseHeldValue
A trait for releasing encrypted values into specific types.

Functions§

Held
Helper function to create a new encrypted value.