Class EncryptionConfiguration
- Namespace
- ParquetSharp.Encryption
- Assembly
- ParquetSharp.dll
Configures how data should be encrypted when writing a ParquetFile with a KMS
public sealed class EncryptionConfiguration : IDisposable
- Inheritance
-
EncryptionConfiguration
- Implements
- Inherited Members
Constructors
EncryptionConfiguration(string)
Create a new EncryptionConfiguration
public EncryptionConfiguration(string footerKey)
Parameters
footerKey
stringID of the master key for footer encryption and signing
Properties
CacheLifetimeSeconds
Lifetime of cached entities (key encryption keys, local wrapping keys, KMS client objects) in seconds.
public double CacheLifetimeSeconds { get; set; }
Property Value
ColumnKeys
Map from master key IDs to the names of columns encrypted with this key
public IReadOnlyDictionary<string, IReadOnlyList<string>> ColumnKeys { get; set; }
Property Value
DataKeyLengthBits
Length of data encryption keys (DEKs), randomly generated by parquet key management tools. Can be 128, 192 or 256 bits. The default is 128 bits.
public int DataKeyLengthBits { get; set; }
Property Value
DoubleWrapping
Whether double wrapping should be used, where data encryption keys (DEKs) are encrypted with key encryption keys (KEKs), which in turn are encrypted with master keys. If false, single wrapping is used, where data encryption keys are encrypted directly with master keys.
public bool DoubleWrapping { get; set; }
Property Value
EncryptionAlgorithm
The encryption algorithm to use
public ParquetCipher EncryptionAlgorithm { get; set; }
Property Value
FooterKey
ID of the master key for footer encryption and signing
public string FooterKey { get; set; }
Property Value
InternalKeyMaterial
Store key material inside Parquet file footers; this mode doesn’t produce additional files. By default, true. If set to false, key material is stored in separate files in the same folder, which enables key rotation for immutable Parquet files.
public bool InternalKeyMaterial { get; set; }
Property Value
PlaintextFooter
Whether the footer should be stored unencrypted
public bool PlaintextFooter { get; set; }
Property Value
UniformEncryption
Whether the footer and columns are all encrypted with the same key
public bool UniformEncryption { get; set; }
Property Value
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()