CryptoConfig Klasse

Statische Konfigurationsklasse für globale PQ-Crypto-Einstellungen.


Definition

namespace WvdS.System.Security.Cryptography
 
public static class CryptoConfig

Eigenschaften

Name Typ Beschreibung
DefaultMode CryptoMode Globaler Krypto-Modus für alle Operationen. Standard: CryptoMode.Classic
OpenSslPath string? Optionaler Pfad zur OpenSSL 3.6 Library

DefaultMode Eigenschaft

Ruft den globalen Krypto-Modus ab oder legt ihn fest.

public static CryptoMode DefaultMode { get; set; }
Typ CryptoMode
Standardwert CryptoMode.Classic

Diese Eigenschaft bestimmt das Standardverhalten aller Extension-Methoden, wenn kein expliziter CryptoMode übergeben wird.

Wert Verhalten
Classic Keine PQ-Erweiterungen
Hybrid RSA/ECDSA + ML-DSA
PostQuantum Nur ML-DSA/ML-KEM

Beispiel:

// Beim Anwendungsstart
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
 
// Alle folgenden Operationen verwenden Hybrid
var cert = request.CreateSelfSigned(notBefore, notAfter);
// cert.HasPqSignature() == true

OpenSslPath Eigenschaft

Ruft den Pfad zur OpenSSL-Library ab oder legt ihn fest.

public static string? OpenSslPath { get; set; }
Typ string?
Standardwert null (automatische Suche)

Wenn null, sucht die Bibliothek automatisch nach OpenSSL:

Plattform Suchpfade
Windows x64 libcrypto-3-x64.dll im Anwendungsverzeichnis, PATH
Linux libcrypto.so.3 in LD_LIBRARY_PATH, /usr/lib
macOS libcrypto.3.dylib in DYLD_LIBRARY_PATH, /opt/homebrew/lib

OpenSSL 3.6.0 oder höher ist erforderlich für ML-DSA und ML-KEM Unterstützung.

Plattform-Beispiele:

// Windows
CryptoConfig.OpenSslPath = @"C:\OpenSSL-3.6\bin\libcrypto-3-x64.dll";
 
// Linux
CryptoConfig.OpenSslPath = "/opt/openssl-3.6/lib64/libcrypto.so.3";
 
// macOS
CryptoConfig.OpenSslPath = "/opt/homebrew/opt/openssl@3/lib/libcrypto.3.dylib";

Methoden

Name Beschreibung
EnablePostQuantum(CryptoMode) Aktiviert PQ-Kryptographie und initialisiert OpenSSL

EnablePostQuantum Methode

Aktiviert Post-Quantum-Kryptographie und initialisiert die OpenSSL-Interop.

public static void EnablePostQuantum(CryptoMode mode = CryptoMode.Hybrid)

Parameter:

Name Typ Beschreibung
mode CryptoMode Der zu aktivierende Modus. Standard: CryptoMode.Hybrid

Diese Methode ist eine Convenience-Funktion, die:

  1. DefaultMode auf den angegebenen Wert setzt
  2. OpenSSL initialisiert und die Version prüft
  3. Den Crypto-Provider lädt

Äquivalent zu:

CryptoConfig.DefaultMode = mode;
CryptoProviderFactory.GetProvider().Initialize();

Beispiele:

// Aktiviert Hybrid-Modus (Standard)
CryptoConfig.EnablePostQuantum();
 
// Nur für vollständig PQ-fähige Umgebungen
CryptoConfig.EnablePostQuantum(CryptoMode.PostQuantum);

Ausnahmen:

DllNotFoundException OpenSSL-Library nicht gefunden
InvalidOperationException OpenSSL-Version < 3.6 oder PQ-Algorithmen nicht verfügbar

Thread-Sicherheit

Änderungen an DefaultMode und OpenSslPath sind thread-sicher. Ändern Sie diese Werte idealerweise nur beim Anwendungsstart.


Hinweise

CryptoConfig ist der zentrale Konfigurationspunkt für die gesamte Bibliothek. Einstellungen gelten global für alle Threads.

// Empfohlene Initialisierung in Program.cs oder Startup
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
CryptoConfig.OpenSslPath = @"C:\OpenSSL\bin\libcrypto-3-x64.dll";

Siehe auch


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: den 29.01.2026 um 15:12