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:

  1. Nastavi DefaultMode na podano vrednost
  2. Inicializira OpenSSL in preveri različico
  3. 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

Zuletzt geändert: dne 29.01.2026 ob 23:16