Table of Contents

Enum EncryptionKeyType

Namespace
VisioForge.Core.Types.Output
Assembly
VisioForge.Core.dll

Specifies the type of encryption key source for secure media operations. This enumeration defines how the encryption key is provided to the system, allowing for different key management strategies based on security requirements.

public enum EncryptionKeyType

Fields

String = 0

Encryption key provided as a plain text string. The key is passed directly as a string parameter to the encryption system.

This option is convenient for:

  • Development and testing environments
  • Simple applications with basic security needs
  • Quick prototyping and demonstrations

Security considerations:

  • Key is stored in memory as plain text
  • May be visible in debug output or memory dumps
  • Not recommended for production environments with high security requirements

Usage: Pass the encryption key directly as a string parameter.

File = 1

Encryption key loaded from a file on the filesystem. The key is read from a specified file location during encryption setup.

This option provides:

  • Better security through file system permissions
  • Centralized key management
  • Ability to update keys without code changes
  • Integration with enterprise key management systems

Security benefits:

  • Key can be protected by file system permissions
  • Supports secure file locations (encrypted drives, network shares)
  • Key rotation without application redeployment
  • Audit trail through file system logging

Usage: Specify the full path to the key file. The file should contain the encryption key in the expected format.

Binary = 2

Encryption key provided as raw binary data. The key is supplied as a byte array containing the raw encryption key material.

This option offers:

  • Maximum flexibility in key format and source
  • Integration with hardware security modules (HSMs)
  • Custom key derivation and management systems
  • Support for complex key formats and encoding

Advanced use cases:

  • Integration with PKI systems
  • Hardware-based key generation
  • Custom key derivation functions
  • Multi-part or composite keys

Usage: Provide the encryption key as a byte array. The binary data should be in the format expected by the encryption algorithm being used.

Remarks

The key type determines how the encryption system retrieves and processes the encryption key:

  • String: Key provided directly as a text string (convenient but less secure)
  • File: Key loaded from a secure file location (better security, centralized management)
  • Binary: Key provided as raw binary data (maximum flexibility, custom key management)

Choose the appropriate key type based on your security requirements:

  • Use String for development and testing scenarios
  • Use File for production deployments with centralized key management
  • Use Binary for custom key management systems or hardware security modules