====== Vmesnik ICryptoProvider ====== Definira vmesnik za post-kvantne kriptografske zaledne sisteme. ---- ===== Definicija ===== namespace WvdS.System.Security.Cryptography.Providers public interface ICryptoProvider ---- ===== Lastnosti ===== ^ Ime ^ Tip ^ Opis ^ | Name | string | Ime ponudnika (npr. "Native (P/Invoke)") | | IsAvailable | bool | True če je ponudnik inicializiran in na voljo | ---- ===== Metode ===== ==== Inicializacija ==== ^ Ime ^ Opis ^ | InitializeAsync() | Asinhrono inicializira ponudnika | | GetOpenSslVersion() | Vrne različico OpenSSL | ==== ML-DSA (podpisi) ==== ^ Ime ^ Opis ^ | GenerateMlDsaKeyPairAsync(string) | Generira ML-DSA par ključev | | SignMlDsaAsync(byte[], byte[]) | Podpiše podatke z ML-DSA | | VerifyMlDsaAsync(byte[], byte[], byte[]) | Preveri ML-DSA podpis | ==== ML-KEM (izmenjava ključev) ==== ^ Ime ^ Opis ^ | GenerateMlKemKeyPairAsync(string) | Generira ML-KEM par ključev | | EncapsulateAsync(byte[]) | Enkapsulira skupno skrivnost | | DecapsulateAsync(byte[], byte[]) | Ekstrahira skupno skrivnost | ==== Certifikati ==== ^ Ime ^ Opis ^ | CreateEphemeralCertificateAsync(string, TimeSpan, byte[]) | Ustvari kratkoživ PQ-certifikat | | SignCertificateAsync(byte[], byte[]) | Podpiše TBS-certifikat z ML-DSA | ---- ===== Opombe ===== Uporabljajte ''CryptoProviderFactory.GetProvider()'' namesto neposredne instanciacije. ---- ===== Implementacije ===== * [[.:nativecryptoprovider|NativeCryptoProvider]] - Namizje/strežnik * [[.:wasmcryptoprovider|WasmCryptoProvider]] - Blazor WebAssembly ---- ===== Glej tudi ===== * [[.:start|Providers Namespace]] * [[.:cryptoproviderfactory|CryptoProviderFactory]] {{tag>vmesnik interface}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//