====== ICryptoProvider Sučelje ====== Definira sučelje za Post-Quantum kripto-pozadine. ---- ===== Definicija ===== namespace WvdS.System.Security.Cryptography.Providers public interface ICryptoProvider ---- ===== Svojstva ===== ^ Naziv ^ Tip ^ Opis ^ | Name | string | Naziv providera (npr. "Native (P/Invoke)") | | IsAvailable | bool | True ako je provider inicijaliziran i dostupan | ---- ===== Metode ===== ==== Inicijalizacija ==== ^ Naziv ^ Opis ^ | InitializeAsync() | Asinkrono inicijalizira provider | | GetOpenSslVersion() | Vraća verziju OpenSSL-a | ==== ML-DSA (Potpisi) ==== ^ Naziv ^ Opis ^ | GenerateMlDsaKeyPairAsync(string) | Generira ML-DSA par ključeva | | SignMlDsaAsync(byte[], byte[]) | Potpisuje podatke s ML-DSA | | VerifyMlDsaAsync(byte[], byte[], byte[]) | Verificira ML-DSA potpis | ==== ML-KEM (Razmjena ključeva) ==== ^ Naziv ^ Opis ^ | GenerateMlKemKeyPairAsync(string) | Generira ML-KEM par ključeva | | EncapsulateAsync(byte[]) | Enkapsulira dijeljenu tajnu | | DecapsulateAsync(byte[], byte[]) | Ekstrahira dijeljenu tajnu | ==== Certifikati ==== ^ Naziv ^ Opis ^ | CreateEphemeralCertificateAsync(string, TimeSpan, byte[]) | Stvara kratkotrajni PQ certifikat | | SignCertificateAsync(byte[], byte[]) | Potpisuje TBS certifikat s ML-DSA | ---- ===== Napomene ===== Koristite ''CryptoProviderFactory.GetProvider()'' umjesto izravne instancijacije. ---- ===== Implementacije ===== * [[.:nativecryptoprovider|NativeCryptoProvider]] - Desktop/Server * [[.:wasmcryptoprovider|WasmCryptoProvider]] - Blazor WebAssembly ---- ===== Vidi također ===== * [[.:start|Providers Namespace]] * [[.:cryptoproviderfactory|CryptoProviderFactory]] {{tag>sučelje interface}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//