====== CertificateRequestExtensions Klasse ====== Stellt Extension Methods für ''CertificateRequest'' mit PQ-Unterstützung bereit. ---- ===== Definition ===== namespace WvdS.System.Security.Cryptography.X509Certificates public static class CertificateRequestExtensions ---- ===== Methoden ===== ^ Name ^ Beschreibung ^ | CreateSelfSigned(DateTimeOffset, DateTimeOffset, CryptoMode?) | Erstellt selbstsigniertes Zertifikat mit optionaler PQ-Signatur | | Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[], CryptoMode?) | Erstellt CA-signiertes Zertifikat mit optionaler PQ-Signatur | ---- ===== Hinweise ===== Diese Extension-Klasse erweitert ''System.Security.Cryptography.X509Certificates.CertificateRequest''((Microsoft Docs: https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.certificaterequest)). ==== Drop-In-Verhalten ==== Die Extension Methods haben die gleiche Signatur wie die Originalmethoden plus einen optionalen ''CryptoMode''-Parameter: // Original .NET X509Certificate2 CreateSelfSigned(DateTimeOffset notBefore, DateTimeOffset notAfter) // Extension (Drop-In) X509Certificate2 CreateSelfSigned(DateTimeOffset notBefore, DateTimeOffset notAfter, CryptoMode? mode = null) Wenn der ''using''-Namespace eingebunden ist, wird automatisch die Extension Method verwendet. ---- ===== Beispiel ===== using WvdS.System.Security.Cryptography; using WvdS.System.Security.Cryptography.X509Certificates; CryptoConfig.DefaultMode = CryptoMode.Hybrid; using var rsa = RSA.Create(2048); var request = new CertificateRequest( "CN=Server, O=Org, C=DE", rsa, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); request.CertificateExtensions.Add( new X509BasicConstraintsExtension(false, false, 0, true)); // Hybrid-Zertifikat: RSA + ML-DSA var cert = request.CreateSelfSigned( DateTimeOffset.Now, DateTimeOffset.Now.AddYears(1)); ---- ===== Siehe auch ===== * [[.:start|X509Certificates Namespace]] * [[.:x509certificate2extensions|X509Certificate2Extensions]] * [[..:cryptomode|CryptoMode Enum]] {{tag>klasse extension static}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//