====== X509ChainExtensions ====== **Prostor imena:** ''WvdS.System.Security.Cryptography.X509Certificates'' Drop-In zamjenska proširenja za ''X509Chain'' s post-kvantnom validacijom potpisa. Proširuje standardnu validaciju lanca s PQ provjerom potpisa u sva tri kripto načina rada. ===== Metode ===== ^ Metoda ^ Opis ^ | ''Build(certificate, mode)'' | Gradi i validira lanac certifikata s CryptoMode | | ''Build(certificate, customTrustStore, mode)'' | Validacija lanca s prilagođenom pohranom povjerenja | | ''Build(certificate, trustStore, mode)'' | Validacija lanca s PqTrustStore | | ''BuildWithRevocationCheck(...)'' | Izgradnja lanca s CRL/OCSP provjerom | | ''BuildWithOfflineCrl(...)'' | Izgradnja lanca s offline CRL podacima | | ''IsFullyPqProtected()'' | Provjerava je li cijeli lanac PQ zaštićen | | ''GetChainCryptoModes()'' | Vraća CryptoModes svih članaka lanca | | ''GetValidationReport()'' | Kreira detaljno izvješće o validaciji | ===== Build s CryptoMode ===== using var chain = new X509Chain(); var cert = new X509Certificate2("certificate.pfx"); // S eksplicitnim CryptoMode bool isValid = chain.Build(cert, CryptoMode.Hybrid); // S Default-Mode iz CryptoConfig bool isValid2 = chain.Build(cert, null); ==== Ponašanje validacije po načinu rada ==== ^ Način ^ Klasični potpis ^ PQ potpis ^ | Classic | Provjereno | Ignorirano | | Hybrid | Provjereno | Provjereno (ako postoji) | | PostQuantum | Provjereno (struktura) | **Obavezno** | ===== IsFullyPqProtected ===== using var chain = new X509Chain(); chain.Build(cert, CryptoMode.Hybrid); if (chain.IsFullyPqProtected()) { Console.WriteLine("Cijeli lanac je PQ zaštićen"); } else { var modes = chain.GetChainCryptoModes(); for (int i = 0; i < modes.Length; i++) { if (modes[i] == CryptoMode.Classic) Console.WriteLine($"Element {i} nema PQ zaštitu"); } } ===== GetValidationReport ===== using var chain = new X509Chain(); chain.Build(cert, CryptoMode.Hybrid); var report = chain.GetValidationReport(); Console.WriteLine($"Valjano: {report.IsValid}"); Console.WriteLine($"Duljina lanca: {report.ChainLength}"); Console.WriteLine($"Potpuno PQ zaštićeno: {report.IsFullyPqProtected}"); ===== Vidi također ===== * [[.:x509certificate2extensions|X509Certificate2Extensions]] * [[.:truststoreextensions|TrustStoreExtensions]] * [[.:revocationextensions|RevocationExtensions]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//