====== TrustStoreExtensions & PqTrustStore ====== Custom Trust Store Management für PQ-kompatible PKI-Infrastrukturen. ---- ===== Übersicht ===== ^ Klasse ^ Beschreibung ^ | ''PqTrustStore'' | Vollwertiger Trust Store mit PQ-Unterstützung | | ''TrustStoreExtensions'' | Extension Methods für ''X509Certificate2Collection'' | | ''TrustEntry'' | Metadaten für Trust Store Einträge | ---- ===== PqTrustStore Klasse ===== using WvdS.System.Security.Cryptography.X509Certificates; // Trust Store erstellen using var trustStore = new PqTrustStore(); // Root CA hinzufügen var rootCa = new X509Certificate2("root-ca.cer"); trustStore.AddTrustAnchor(rootCa, alias: "Company Root CA"); // Intermediate CA hinzufügen var intermediateCa = new X509Certificate2("intermediate-ca.cer"); trustStore.AddIntermediate(intermediateCa, alias: "Issuing CA"); ---- ===== Integration mit X509Chain ===== // Trust Store laden using var trustStore = PqTrustStore.LoadFromPem("company-trust-store.pem"); // Zertifikat validieren var userCert = new X509Certificate2("user.cer"); using var chain = new X509Chain(); bool isValid = chain.Build(userCert, trustStore, CryptoMode.Hybrid); ---- ===== Trust Store Import/Export ===== // PEM-Bundle speichern/laden trustStore.SaveToPem("trust-store.pem"); var loadedStore = PqTrustStore.LoadFromPem("trust-store.pem"); // PKCS#7 (DER) trustStore.SaveToPkcs7("trust-store.p7b"); var p7Store = PqTrustStore.LoadFromPkcs7("trust-store.p7b"); ---- ===== System Store Import ===== using var trustStore = new PqTrustStore(); // Windows Root CAs importieren trustStore.ImportFromSystemRootStore(); // Als PEM exportieren für Air-Gapped Systeme trustStore.SaveToPem("system-trust-store.pem"); ---- ===== TrustType Enum ===== ^ Wert ^ Beschreibung ^ | ''TrustAnchor'' | Vertrauensanker (Root CA) | | ''IntermediateCA'' | Zwischenzertifizierungsstelle | | ''CrossCertifiedCA'' | Cross-zertifizierte CA | | ''EndEntity'' | End-Entity (kein CA) | ---- ===== Trust Store Abfragen ===== // Nur Trust Anchors var roots = trustStore.TrustAnchors; // Nur Intermediate CAs var intermediates = trustStore.IntermediateCAs; // Suche nach Subject/Thumbprint var found = trustStore.FindBySubjectName("Company"); var entry = trustStore.FindByThumbprint("A1B2C3..."); ---- ===== Siehe auch ===== * [[.:x509chainextensions|X509ChainExtensions]] * [[.:revocationextensions|RevocationExtensions]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional// {{tag>truststore pki ca chain}}