====== ICryptoProvider sucelje ====== Definira sucelje za post-kvantne kripto-pozadinske sustave. ---- ===== 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() | Vraca verziju OpenSSL-a | ==== ML-DSA (Potpisi) ==== ^ Naziv ^ Opis ^ | GenerateMlDsaKeyPairAsync(string) | Generira ML-DSA par kljuceva | | SignMlDsaAsync(byte[], byte[]) | Potpisuje podatke s ML-DSA | | VerifyMlDsaAsync(byte[], byte[], byte[]) | Verificira ML-DSA potpis | ==== ML-KEM (Razmjena kljuceva) ==== ^ Naziv ^ Opis ^ | GenerateMlKemKeyPairAsync(string) | Generira ML-KEM par kljuceva | | EncapsulateAsync(byte[]) | Enkapsulira dijeljeni tajni kljuc | | DecapsulateAsync(byte[], byte[]) | Ekstrahira dijeljeni tajni kljuc | ==== Certifikati ==== ^ Naziv ^ Opis ^ | CreateEphemeralCertificateAsync(string, TimeSpan, byte[]) | Kreira 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 takoder ===== * [[.:start|Providers prostor imena]] * [[..:cryptoconfig|CryptoConfig klasa]] {{tag>schnittstelle interface}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//