====== X509ChainExtensions ====== **Imenski prostor:** ''WvdS.System.Security.Cryptography.X509Certificates'' Razširitve Drop-In Replacement za ''X509Chain'' z validacijo post-kvantnih podpisov. Razširja standardno validacijo verige s preverjanjem PQ-podpisov v vseh treh kripto-načinih. ===== Metode ===== ^ Metoda ^ Opis ^ | ''Build(certificate, mode)'' | Zgradi in validira certifikatno verigo s CryptoMode | | ''Build(certificate, customTrustStore, mode)'' | Validacija verige z lastno shrambo zaupanja | | ''Build(certificate, trustStore, mode)'' | Validacija verige s PqTrustStore | | ''BuildWithRevocationCheck(...)'' | Gradnja verige s preverjanjem CRL/OCSP | | ''BuildWithOfflineCrl(...)'' | Gradnja verige z offline CRL-podatki | | ''IsFullyPqProtected()'' | Preveri, ali je celotna veriga PQ-zaščitena | | ''GetChainCryptoModes()'' | Vrne CryptoModes vseh členov verige | | ''GetValidationReport()'' | Ustvari podrobno poročilo o validaciji | ===== Build s CryptoMode ===== using var chain = new X509Chain(); var cert = new X509Certificate2("certificate.pfx"); // Z eksplicitnim CryptoMode bool isValid = chain.Build(cert, CryptoMode.Hybrid); // S privzetim načinom iz CryptoConfig bool isValid2 = chain.Build(cert, null); ==== Obnašanje validacije po načinu ==== ^ Način ^ Klasični podpis ^ PQ-podpis ^ | Classic | Preverjen | Ignoriran | | Hybrid | Preverjen | Preverjen (če prisoten) | | PostQuantum | Preverjen (struktura) | **Zahtevan** | ===== IsFullyPqProtected ===== using var chain = new X509Chain(); chain.Build(cert, CryptoMode.Hybrid); if (chain.IsFullyPqProtected()) { Console.WriteLine("Celotna veriga je PQ-zaščitena"); } else { var modes = chain.GetChainCryptoModes(); for (int i = 0; i < modes.Length; i++) { if (modes[i] == CryptoMode.Classic) Console.WriteLine($"Element {i} nima PQ-zaščite"); } } ===== GetValidationReport ===== using var chain = new X509Chain(); chain.Build(cert, CryptoMode.Hybrid); var report = chain.GetValidationReport(); Console.WriteLine($"Veljaven: {report.IsValid}"); Console.WriteLine($"Dolžina verige: {report.ChainLength}"); Console.WriteLine($"Popolnoma PQ-zaščiten: {report.IsFullyPqProtected}"); ===== Glejte tudi ===== * [[.:x509certificate2extensions|X509Certificate2Extensions]] * [[.:truststoreextensions|TrustStoreExtensions]] * [[.:revocationextensions|RevocationExtensions]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//