Inhaltsverzeichnis
4.2 Integracija
Navodila za integracijo WvdS.System.Security.Cryptography za posamezne platforme.
Platforme
| Platforma | Ponudnik | Opis |
|---|---|---|
| Blazor Server | NativeCryptoProvider | P/Invoke do OpenSSL |
| Blazor WebAssembly | WasmCryptoProvider | JS Interop do OpenSSL.wasm |
| ASP.NET Core | NativeCryptoProvider | REST-API s PQ-certifikati |
| Konzolna aplikacija | NativeCryptoProvider | Paketna obdelava, orodja |
Arhitektura
Knjižnica uporablja vzorec ponudnika:
Aplikacijska koda
↓
WvdS.System.Security.Cryptography (Extension Methods)
↓
ICryptoProvider (Interface)
↓
┌─────────────────────────┬────────────────────────┐
│ NativeCryptoProvider │ WasmCryptoProvider │
│ (P/Invoke) │ (JS Interop) │
└─────────────────────────┴────────────────────────┘
↓ ↓
OpenSSL 3.6 (Native) OpenSSL.wasm (Browser)
Ponudnik je izbran samodejno glede na izvajalno okolje.
Registracija storitev
Za Dependency Injection v ASP.NET Core / Blazor:
// Program.cs builder.Services.AddSingleton<KeyExchangeService>(); builder.Services.AddScoped<IEphemeralKeyManager, EphemeralKeyManager>();
Blazor Server
// Program.cs using WvdS.System.Security.Cryptography; var builder = WebApplication.CreateBuilder(args); // Konfiguracija PQ-kripto CryptoConfig.DefaultMode = CryptoMode.Hybrid; CryptoConfig.OpenSslPath = builder.Configuration["OpenSslPath"]; // Registracija storitev builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); builder.Services.AddSingleton<KeyExchangeService>(); var app = builder.Build();
Blazor WebAssembly
// Program.cs using WvdS.System.Security.Cryptography; var builder = WebAssemblyHostBuilder.CreateDefault(args); // WASM-ponudnik se uporabi samodejno CryptoConfig.DefaultMode = CryptoMode.Hybrid; builder.RootComponents.Add<App>("#app"); await builder.Build().RunAsync();
Opomba: V WASM se samodejno uporabi WasmCryptoProvider, ki uporablja OpenSSL.wasm preko JavaScript Interop.
ASP.NET Core Web API
// Program.cs using WvdS.System.Security.Cryptography; var builder = WebApplication.CreateBuilder(args); // Konfiguracija PQ-kripto CryptoConfig.DefaultMode = CryptoMode.Hybrid; // HTTPS s PQ-certifikatom (Kestrel) builder.WebHost.ConfigureKestrel(options => { options.ConfigureHttpsDefaults(https => { https.ServerCertificate = LoadPqCertificate(); }); }); builder.Services.AddControllers(); var app = builder.Build();
Nadaljnje branje
- Konfiguracija – Poti OpenSSL, okoljske spremenljivke
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 30.01.2026 ob 08:25