Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
signet::forge::crypto::EncryptionKeyMetadata Struct Reference

Per-key metadata stored alongside encrypted Parquet components. More...

#include <key_metadata.hpp>

Public Member Functions

std::vector< uint8_t > serialize () const
 Serialize to bytes using TLV format.
 

Static Public Member Functions

static expected< EncryptionKeyMetadatadeserialize (const uint8_t *data, size_t size)
 Deserialize from bytes.
 

Public Attributes

KeyMode key_mode = KeyMode::INTERNAL
 INTERNAL or EXTERNAL key mode.
 
std::vector< uint8_t > key_material
 Raw AES key bytes (INTERNAL mode only).
 
std::string key_id
 KMS key reference (EXTERNAL mode).
 

Detailed Description

Per-key metadata stored alongside encrypted Parquet components.

For INTERNAL mode: key_material contains the raw AES key bytes. For EXTERNAL mode: key_id contains the KMS reference string.

This is serialized into the Parquet ColumnChunk's column_crypto_metadata field so that the decryptor can identify which key to use.

Definition at line 385 of file key_metadata.hpp.

Member Function Documentation

◆ deserialize()

static expected< EncryptionKeyMetadata > signet::forge::crypto::EncryptionKeyMetadata::deserialize ( const uint8_t *  data,
size_t  size 
)
inlinestatic

Deserialize from bytes.

Returns an error if the data is malformed.

Parameters
dataPointer to TLV-serialized bytes.
sizeNumber of bytes to parse.
Returns
Deserialized metadata, or ENCRYPTION_ERROR if truncated or missing key_mode.

Definition at line 430 of file key_metadata.hpp.

◆ serialize()

std::vector< uint8_t > signet::forge::crypto::EncryptionKeyMetadata::serialize ( ) const
inline

Serialize to bytes using TLV format.

Returns
Serialized byte vector containing all populated fields.

Definition at line 392 of file key_metadata.hpp.

Member Data Documentation

◆ key_id

std::string signet::forge::crypto::EncryptionKeyMetadata::key_id

KMS key reference (EXTERNAL mode).

Definition at line 388 of file key_metadata.hpp.

◆ key_material

std::vector<uint8_t> signet::forge::crypto::EncryptionKeyMetadata::key_material

Raw AES key bytes (INTERNAL mode only).

Definition at line 387 of file key_metadata.hpp.

◆ key_mode

KeyMode signet::forge::crypto::EncryptionKeyMetadata::key_mode = KeyMode::INTERNAL

INTERNAL or EXTERNAL key mode.

Definition at line 386 of file key_metadata.hpp.


The documentation for this struct was generated from the following file: