====== TrustStoreExtensions & PqTrustStore ======
Upravljanje lastne shrambe zaupanja za PQ-združljive PKI-infrastrukture.
----
===== Pregled =====
^ Razred ^ Opis ^
| ''PqTrustStore'' | Polnofunkcionalna shramba zaupanja s PQ-podporo |
| ''TrustStoreExtensions'' | Razširitvene metode za ''X509Certificate2Collection'' |
| ''TrustEntry'' | Metapodatki za vnose v shrambo zaupanja |
----
===== Razred PqTrustStore =====
using WvdS.System.Security.Cryptography.X509Certificates;
// Ustvarjanje shrambe zaupanja
using var trustStore = new PqTrustStore();
// Dodajanje Root CA
var rootCa = new X509Certificate2("root-ca.cer");
trustStore.AddTrustAnchor(rootCa, alias: "Company Root CA");
// Dodajanje Intermediate CA
var intermediateCa = new X509Certificate2("intermediate-ca.cer");
trustStore.AddIntermediate(intermediateCa, alias: "Issuing CA");
----
===== Integracija z X509Chain =====
// Nalaganje shrambe zaupanja
using var trustStore = PqTrustStore.LoadFromPem("company-trust-store.pem");
// Validacija certifikata
var userCert = new X509Certificate2("user.cer");
using var chain = new X509Chain();
bool isValid = chain.Build(userCert, trustStore, CryptoMode.Hybrid);
----
===== Uvoz/izvoz shrambe zaupanja =====
// Shranjevanje/nalaganje PEM-svežnja
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");
----
===== Uvoz iz sistemske shrambe =====
using var trustStore = new PqTrustStore();
// Uvoz Windows Root CA-jev
trustStore.ImportFromSystemRootStore();
// Izvoz kot PEM za air-gapped sisteme
trustStore.SaveToPem("system-trust-store.pem");
----
===== Enum TrustType =====
^ Vrednost ^ Opis ^
| ''TrustAnchor'' | Sidro zaupanja (Root CA) |
| ''IntermediateCA'' | Vmesna certifikacijska agencija |
| ''CrossCertifiedCA'' | Navzkrižno certificirana CA |
| ''EndEntity'' | Končna entiteta (ni CA) |
----
===== Poizvedbe shrambe zaupanja =====
// Samo sidra zaupanja
var roots = trustStore.TrustAnchors;
// Samo vmesne CA
var intermediates = trustStore.IntermediateCAs;
// Iskanje po Subject/Thumbprint
var found = trustStore.FindBySubjectName("Company");
var entry = trustStore.FindByThumbprint("A1B2C3...");
----
===== Glejte tudi =====
* [[.:x509chainextensions|X509ChainExtensions]]
* [[.:revocationextensions|RevocationExtensions]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>truststore pki ca chain}}