====== 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 ^
| [[.:certificaterequestextensions-createselfsigned|CreateSelfSigned(DateTimeOffset, DateTimeOffset, CryptoMode?)]] | Erstellt selbstsigniertes Zertifikat mit optionaler PQ-Signatur |
| [[.:certificaterequestextensions-create|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]]
* [[de:int:pqcrypt:api:wvds-system-security-cryptography:cryptomode|CryptoMode Enum]]
{{tag>klasse extension static}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//