Inhaltsverzeichnis
Razred CryptoConfig
Statični konfiguracijski razred za globalne nastavitve PQ-Crypto.
Definicija
namespace WvdS.System.Security.Cryptography public static class CryptoConfig
Lastnosti
| 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 |
Lastnost DefaultMode
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
Lastnost OpenSslPath
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";
Metode
| Ime | Opis |
|---|---|
| EnablePostQuantum(CryptoMode) | Aktivira PQ-kriptografijo in inicializira OpenSSL |
Metoda EnablePostQuantum
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:
- Nastavi
DefaultModena podano vrednost - Inicializira OpenSSL in preveri različico
- Naloži kriptografskega ponudnika
Enakovredno 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 |
Varnost niti
Spremembe DefaultMode in OpenSslPath so varne za niti. Te vrednosti idealno spreminjajte samo ob zagonu aplikacije.
Opombe
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";
Glejte tudi
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional