Inhaltsverzeichnis

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


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional