Contiene i provider crittografici per diversi ambienti di esecuzione.
| Interfaccia | Descrizione |
|---|---|
| ICryptoProvider | Definisce l'interfaccia per i backend crittografici |
| Classe | Descrizione |
|---|---|
| CryptoProviderFactory | Factory per ottenere il provider specifico della piattaforma |
| NativeCryptoProvider | Provider per Desktop/Server (P/Invoke verso OpenSSL) |
| WasmCryptoProvider | Provider per Blazor WebAssembly (JavaScript Interop) |
┌─────────────────────────────────────┐
│ ICryptoProvider │
│ (GenerateMlDsaKeyPair, Sign, ...) │
└───────────────┬─────────────────────┘
│
┌───────┴───────┐
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Native │ │ WASM │
│ Provider │ │ Provider │
│ (P/Invoke) │ │ (JS Interop) │
└───────────────┘ └───────────────┘
│ │
▼ ▼
OpenSSL 3.6 openssl.wasm
La CryptoProviderFactory rileva automaticamente l'ambiente di esecuzione:
NativeCryptoProviderWasmCryptoProvider// Selezione automatica del provider var provider = CryptoProviderFactory.GetProvider(); await provider.InitializeAsync();
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional