====== Namespace Providers ====== **Namespace:** ''WvdS.System.Security.Cryptography.Providers'' Contiene i provider crittografici per diversi ambienti di runtime. ---- ===== Interfacce ===== ^ Interfaccia ^ Descrizione ^ | [[.:icryptoprovider|ICryptoProvider]] | Definisce l'interfaccia per i backend crittografici | ---- ===== Classi ===== ^ Classe ^ Descrizione ^ | 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, ...) | +---------------+---------------------+ | +-------+-------+ v v +---------------+ +---------------+ | Native | | WASM | | Provider | | Provider | | (P/Invoke) | | (JS Interop) | +---------------+ +---------------+ | | v v OpenSSL 3.6 openssl.wasm ---- ===== Note ===== La ''CryptoProviderFactory'' riconosce automaticamente l'ambiente di runtime: * **Desktop/Server/Blazor Server:** ''NativeCryptoProvider'' * **Blazor WebAssembly:** ''WasmCryptoProvider'' // Selezione automatica del provider var provider = CryptoProviderFactory.GetProvider(); await provider.InitializeAsync(); ---- ===== Vedi anche ===== * [[..:cryptoconfig|Classe CryptoConfig]] * [[..:start|Panoramica API]] {{tag>namespace providers}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//