Sadrži kripto-providere za različita runtime okruženja.
| Sučelje | Opis |
|---|---|
| ICryptoProvider | Definira sučelje za kripto-pozadine |
| Klasa | Opis |
|---|---|
| CryptoProviderFactory | Tvornica za dohvaćanje platformski specifičnog providera |
| NativeCryptoProvider | Provider za Desktop/Server (P/Invoke prema OpenSSL) |
| WasmCryptoProvider | Provider za Blazor WebAssembly (JavaScript Interop) |
┌─────────────────────────────────────┐
│ ICryptoProvider │
│ (GenerateMlDsaKeyPair, Sign, ...) │
└───────────────┬─────────────────────┘
│
┌───────┴───────┐
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Native │ │ WASM │
│ Provider │ │ Provider │
│ (P/Invoke) │ │ (JS Interop) │
└───────────────┘ └───────────────┘
│ │
▼ ▼
OpenSSL 3.6 openssl.wasm
CryptoProviderFactory automatski prepoznaje runtime okruženje:
NativeCryptoProviderWasmCryptoProvider// Automatski odabir providera var provider = CryptoProviderFactory.GetProvider(); await provider.InitializeAsync();
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional