CryptoConfig klasa

Statička konfiguracijska klasa za globalne PQ-Crypto postavke.


Definicija

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

Svojstva

Naziv Tip Opis
DefaultMode CryptoMode Globalni kripto-način rada za sve operacije. Standardno: CryptoMode.Classic
OpenSslPath string? Opcionalna putanja do OpenSSL 3.6 biblioteke

Svojstvo DefaultMode

Dohvaća ili postavlja globalni kripto-način rada.

public static CryptoMode DefaultMode { get; set; }
Tip CryptoMode
Standardna vrijednost CryptoMode.Classic

Ovo svojstvo određuje standardno ponašanje svih extension metoda kada se eksplicitno ne proslijedi CryptoMode.

Vrijednost Ponašanje
Classic Bez PQ proširenja
Hybrid RSA/ECDSA + ML-DSA
PostQuantum Samo ML-DSA/ML-KEM

Primjer:

// Pri pokretanju aplikacije
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
 
// Sve sljedeće operacije koriste Hybrid
var cert = request.CreateSelfSigned(notBefore, notAfter);
// cert.HasPqSignature() == true

Svojstvo OpenSslPath

Dohvaća ili postavlja putanju do OpenSSL biblioteke.

public static string? OpenSslPath { get; set; }
Tip string?
Standardna vrijednost null (automatsko pretraživanje)

Kada je null, biblioteka automatski traži OpenSSL:

Platforma Putanje pretraživanja
Windows x64 libcrypto-3-x64.dll u direktoriju aplikacije, PATH
Linux libcrypto.so.3 u LD_LIBRARY_PATH, /usr/lib
macOS libcrypto.3.dylib u DYLD_LIBRARY_PATH, /opt/homebrew/lib

OpenSSL 3.6.0 ili noviji je potreban za podršku ML-DSA i ML-KEM.

Primjeri 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

Naziv Opis
EnablePostQuantum(CryptoMode) Aktivira PQ-kriptografiju i inicijalizira OpenSSL

Metoda EnablePostQuantum

Aktivira post-kvantnu kriptografiju i inicijalizira OpenSSL interop.

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

Parametri:

Naziv Tip Opis
mode CryptoMode Način rada za aktiviranje. Standardno: CryptoMode.Hybrid

Ova metoda je pomoćna funkcija koja:

  1. Postavlja DefaultMode na navedenu vrijednost
  2. Inicijalizira OpenSSL i provjerava verziju
  3. Učitava Crypto-provider

Ekvivalentno:

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

Primjeri:

// Aktivira Hybrid-način rada (standardno)
CryptoConfig.EnablePostQuantum();
 
// Samo za potpuno PQ-sposobna okruženja
CryptoConfig.EnablePostQuantum(CryptoMode.PostQuantum);

Iznimke:

DllNotFoundException OpenSSL biblioteka nije pronađena
InvalidOperationException OpenSSL verzija < 3.6 ili PQ algoritmi nisu dostupni

Sigurnost niti

Promjene na DefaultMode i OpenSslPath su sigurne za niti. Idealno mijenjajte ove vrijednosti samo pri pokretanju aplikacije.


Napomene

CryptoConfig je centralna konfiguracijska točka za cijelu biblioteku. Postavke vrijede globalno za sve niti.

// Preporučena inicijalizacija u Program.cs ili Startup
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
CryptoConfig.OpenSslPath = @"C:\OpenSSL\bin\libcrypto-3-x64.dll";

Vidi također


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

Zuletzt geändert: 29.01.2026. u 23:16