Statični konfiguracijski razred za globalne nastavitve PQ-Crypto.
namespace WvdS.System.Security.Cryptography public static class CryptoConfig
| Ime | Tip | Opis |
|---|---|---|
| DefaultMode | CryptoMode | Globalni kriptografski način za vse operacije. Privzeto: CryptoMode.Classic |
| OpenSslPath | string? | Opcijska pot do knjižnice OpenSSL 3.6 |
Pridobi ali nastavi globalni kriptografski način.
public static CryptoMode DefaultMode { get; set; }
| Tip | CryptoMode |
| Privzeta vrednost | CryptoMode.Classic |
Ta lastnost določa privzeto obnašanje vseh razširitvenih metod, ko ni podan ekspliciten CryptoMode.
| Vrednost | Obnašanje |
|---|---|
| Classic | Brez PQ-razširitev |
| Hybrid | RSA/ECDSA + ML-DSA |
| PostQuantum | Samo ML-DSA/ML-KEM |
Primer:
// Ob zagonu aplikacije CryptoConfig.DefaultMode = CryptoMode.Hybrid; // Vse naslednje operacije uporabljajo Hybrid var cert = request.CreateSelfSigned(notBefore, notAfter); // cert.HasPqSignature() == true
Pridobi ali nastavi pot do knjižnice OpenSSL.
public static string? OpenSslPath { get; set; }
| Tip | string? |
| Privzeta vrednost | null (avtomatsko iskanje) |
Ko je null, knjižnica avtomatsko išče OpenSSL:
| Platforma | Iskalne poti |
|---|---|
| Windows x64 | libcrypto-3-x64.dll v imeniku aplikacije, PATH |
| Linux | libcrypto.so.3 v LD_LIBRARY_PATH, /usr/lib |
| macOS | libcrypto.3.dylib v DYLD_LIBRARY_PATH, /opt/homebrew/lib |
OpenSSL 3.6.0 ali novejši je potreben za podporo ML-DSA in ML-KEM.
Primeri za platforme:
// 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";
| Ime | Opis |
|---|---|
| EnablePostQuantum(CryptoMode) | Aktivira PQ-kriptografijo in inicializira OpenSSL |
Aktivira post-kvantno kriptografijo in inicializira interop z OpenSSL.
public static void EnablePostQuantum(CryptoMode mode = CryptoMode.Hybrid)
Parametri:
| Ime | Tip | Opis |
|---|---|---|
| mode | CryptoMode | Način za aktivacijo. Privzeto: CryptoMode.Hybrid |
Ta metoda je priročna funkcija, ki:
DefaultMode na podano vrednostEnakovredno z:
CryptoConfig.DefaultMode = mode; CryptoProviderFactory.GetProvider().Initialize();
Primeri:
// Aktivira način Hybrid (privzeto) CryptoConfig.EnablePostQuantum(); // Samo za popolnoma PQ-zmožna okolja CryptoConfig.EnablePostQuantum(CryptoMode.PostQuantum);
Izjeme:
| DllNotFoundException | Knjižnica OpenSSL ni najdena |
| InvalidOperationException | Različica OpenSSL < 3.6 ali PQ-algoritmi niso na voljo |
Spremembe DefaultMode in OpenSslPath so varne za niti. Te vrednosti idealno spreminjajte samo ob zagonu aplikacije.
CryptoConfig je osrednja konfiguracijska točka za celotno knjižnico. Nastavitve veljajo globalno za vse niti.
// Priporočena inicializacija v Program.cs ali Startup CryptoConfig.DefaultMode = CryptoMode.Hybrid; CryptoConfig.OpenSslPath = @"C:\OpenSSL\bin\libcrypto-3-x64.dll";
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional