Inhaltsverzeichnis
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:
- Postavlja
DefaultModena navedenu vrijednost - Inicijalizira OpenSSL i provjerava verziju
- 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