Inhaltsverzeichnis
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:
DefaultModeauf den angegebenen Wert setzt- OpenSSL initialisiert und die Version prüft
- 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