====== WvdS.System.Security.Cryptography.Providers Namespace ====== Contiene i provider crittografici per diversi ambienti di esecuzione. ---- ===== Interfacce ===== ^ Interfaccia ^ Descrizione ^ | [[.:icryptoprovider|ICryptoProvider]] | Definisce l'interfaccia per i backend crittografici | ---- ===== Classi ===== ^ Classe ^ Descrizione ^ | [[.:cryptoproviderfactory|CryptoProviderFactory]] | Factory per ottenere il provider specifico della piattaforma | | [[.:nativecryptoprovider|NativeCryptoProvider]] | Provider per Desktop/Server (P/Invoke verso OpenSSL) | | [[.:wasmcryptoprovider|WasmCryptoProvider]] | Provider per Blazor WebAssembly (JavaScript Interop) | ---- ===== Architettura ===== ┌─────────────────────────────────────┐ │ ICryptoProvider │ │ (GenerateMlDsaKeyPair, Sign, ...) │ └───────────────┬─────────────────────┘ │ ┌───────┴───────┐ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Native │ │ WASM │ │ Provider │ │ Provider │ │ (P/Invoke) │ │ (JS Interop) │ └───────────────┘ └───────────────┘ │ │ ▼ ▼ OpenSSL 3.6 openssl.wasm ---- ===== Note ===== La ''CryptoProviderFactory'' rileva automaticamente l'ambiente di esecuzione: * **Desktop/Server/Blazor Server:** ''NativeCryptoProvider'' * **Blazor WebAssembly:** ''WasmCryptoProvider'' // Selezione automatica del provider var provider = CryptoProviderFactory.GetProvider(); await provider.InitializeAsync(); ---- ===== Vedi anche ===== * [[..:start|Root Namespace]] * [[it:int:pqcrypt:api:start|Panoramica API]] {{tag>namespace providers}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//