====== ICryptoProvider Schnittstelle ====== Definiert die Schnittstelle für Post-Quantum-Krypto-Backends. ---- ===== Definition ===== namespace WvdS.System.Security.Cryptography.Providers public interface ICryptoProvider ---- ===== Eigenschaften ===== ^ Name ^ Typ ^ Beschreibung ^ | Name | string | Name des Providers (z.B. "Native (P/Invoke)") | | IsAvailable | bool | True wenn Provider initialisiert und verfügbar | ---- ===== Methoden ===== ==== Initialisierung ==== ^ Name ^ Beschreibung ^ | InitializeAsync() | Initialisiert den Provider asynchron | | GetOpenSslVersion() | Gibt die OpenSSL-Version zurück | ==== ML-DSA (Signaturen) ==== ^ Name ^ Beschreibung ^ | GenerateMlDsaKeyPairAsync(string) | Generiert ML-DSA Schlüsselpaar | | SignMlDsaAsync(byte[], byte[]) | Signiert Daten mit ML-DSA | | VerifyMlDsaAsync(byte[], byte[], byte[]) | Verifiziert ML-DSA Signatur | ==== ML-KEM (Schlüsselaustausch) ==== ^ Name ^ Beschreibung ^ | GenerateMlKemKeyPairAsync(string) | Generiert ML-KEM Schlüsselpaar | | EncapsulateAsync(byte[]) | Kapselt Shared Secret | | DecapsulateAsync(byte[], byte[]) | Extrahiert Shared Secret | ==== Zertifikate ==== ^ Name ^ Beschreibung ^ | CreateEphemeralCertificateAsync(string, TimeSpan, byte[]) | Erstellt kurzlebiges PQ-Zertifikat | | SignCertificateAsync(byte[], byte[]) | Signiert TBS-Zertifikat mit ML-DSA | ---- ===== Hinweise ===== Verwenden Sie ''CryptoProviderFactory.GetProvider()'' statt direkter Instanziierung. ---- ===== Implementierungen ===== * [[.:nativecryptoprovider|NativeCryptoProvider]] - Desktop/Server * [[.:wasmcryptoprovider|WasmCryptoProvider]] - Blazor WebAssembly ---- ===== Siehe auch ===== * [[.:start|Providers Namespace]] * [[..:cryptoconfig|CryptoConfig Klasse]] {{tag>schnittstelle interface}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//