====== WvdS.System.Security.Cryptography.Providers Namespace ======
Enthält die Krypto-Provider für verschiedene Laufzeitumgebungen.
----
===== Schnittstellen =====
^ Schnittstelle ^ Beschreibung ^
| [[.:icryptoprovider|ICryptoProvider]] | Definiert die Schnittstelle für Krypto-Backends |
----
===== Klassen =====
^ Klasse ^ Beschreibung ^
| [[.:cryptoproviderfactory|CryptoProviderFactory]] | Factory zum Abrufen des plattformspezifischen Providers |
| [[.:nativecryptoprovider|NativeCryptoProvider]] | Provider für Desktop/Server (P/Invoke zu OpenSSL) |
| [[.:wasmcryptoprovider|WasmCryptoProvider]] | Provider für Blazor WebAssembly (JavaScript Interop) |
----
===== Architektur =====
┌─────────────────────────────────────┐
│ ICryptoProvider │
│ (GenerateMlDsaKeyPair, Sign, ...) │
└───────────────┬─────────────────────┘
│
┌───────┴───────┐
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Native │ │ WASM │
│ Provider │ │ Provider │
│ (P/Invoke) │ │ (JS Interop) │
└───────────────┘ └───────────────┘
│ │
▼ ▼
OpenSSL 3.6 openssl.wasm
----
===== Hinweise =====
Die ''CryptoProviderFactory'' erkennt automatisch die Laufzeitumgebung:
* **Desktop/Server/Blazor Server:** ''NativeCryptoProvider''
* **Blazor WebAssembly:** ''WasmCryptoProvider''
// Automatische Provider-Auswahl
var provider = CryptoProviderFactory.GetProvider();
await provider.InitializeAsync();
----
===== Siehe auch =====
* [[..:start|Root Namespace]]
* [[de:int:pqcrypt:api:start|API-Übersicht]]
{{tag>namespace providers}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//