Versions in this module Expand all Collapse all v0 v0.7.0 Sep 28, 2026 Changes in this version + const KMSTypeKey + var ErrAuthenticationFailed = errors.New("encryption: authentication failed") + var ErrCiphertextTooShort = errors.New("encryption: ciphertext too short") + var ErrInvalidKeyLength = errors.New("encryption: invalid key length") + var ErrKMSTypeNotFound = errors.New("encryption: kms type not found") + var ErrKeyIDNotSupported = errors.New(...) + var ErrKeyMetadataNotSupported = errors.New(...) + var ErrUnknownKeyID = errors.New("encryption: unknown key ID") + func GetRegisteredKMSNames() []string + func RegisterKMS(name string, factory KMSFactory) + func UnregisterKMS(name string) + type EncryptedInputFile interface + KeyMetadata func() EncryptionKeyMetadata + type EncryptedOutputFile interface + KeyMetadata func() EncryptionKeyMetadata + type EncryptionKeyMetadata []byte + type EncryptionManager interface + NewDecryptedInputFile func(ctx context.Context, file icebergio.File, keyMetadata EncryptionKeyMetadata) (EncryptedInputFile, error) + NewEncryptedOutputFile func(ctx context.Context, writer icebergio.FileWriter, keyID string) (EncryptedOutputFile, error) + type InMemoryKeyManagementClient struct + func NewInMemoryKeyManagementClient() *InMemoryKeyManagementClient + func (c *InMemoryKeyManagementClient) AddKey(keyID string, masterKey []byte) error + func (c *InMemoryKeyManagementClient) GenerateKey(ctx context.Context, keyID string, length int) (plaintext, wrapped []byte, err error) + func (c *InMemoryKeyManagementClient) SupportsKeyGeneration() bool + func (c *InMemoryKeyManagementClient) UnwrapKey(_ context.Context, keyID string, wrappedKey []byte) ([]byte, error) + func (c *InMemoryKeyManagementClient) WrapKey(_ context.Context, keyID string, plaintextKey []byte) ([]byte, error) + type KMSFactory func(props map[string]string) (KeyManagementClient, error) + type KeyManagementClient interface + GenerateKey func(ctx context.Context, keyID string, length int) (plaintext, wrapped []byte, err error) + SupportsKeyGeneration func() bool + UnwrapKey func(ctx context.Context, keyID string, wrappedKey []byte) ([]byte, error) + WrapKey func(ctx context.Context, keyID string, plaintextKey []byte) ([]byte, error) + func LoadKeyManagementClient(props map[string]string) (KeyManagementClient, error) + type NativeEncryptionInputFile interface + NativeDecryptionProperties func(ctx context.Context) (any, error) + type NativeEncryptionOutputFile interface + NativeEncryptionProperties func(ctx context.Context) (any, error) + type PlaintextEncryptionManager struct + func (PlaintextEncryptionManager) NewDecryptedInputFile(_ context.Context, file icebergio.File, keyMetadata EncryptionKeyMetadata) (EncryptedInputFile, error) + func (PlaintextEncryptionManager) NewEncryptedOutputFile(_ context.Context, writer icebergio.FileWriter, keyID string) (EncryptedOutputFile, error) v0.7.0-rc0 Sep 28, 2026