====== Classe CertificateRequestExtensions ====== Fornisce metodi di estensione per ''CertificateRequest'' con supporto PQ. ---- ===== Definizione ===== namespace WvdS.System.Security.Cryptography.X509Certificates public static class CertificateRequestExtensions ---- ===== Metodi ===== ^ Nome ^ Descrizione ^ | [[.:certificaterequestextensions-createselfsigned|CreateSelfSigned(DateTimeOffset, DateTimeOffset, CryptoMode?)]] | Crea un certificato autofirmato con firma PQ opzionale | | [[.:certificaterequestextensions-create|Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[], CryptoMode?)]] | Crea un certificato firmato dalla CA con firma PQ opzionale | ---- ===== Note ===== Questa classe di estensione estende ''System.Security.Cryptography.X509Certificates.CertificateRequest''((Microsoft Docs: https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.certificaterequest)). ==== Comportamento Drop-In ==== I metodi di estensione hanno la stessa firma dei metodi originali più un parametro opzionale ''CryptoMode'': // .NET Originale X509Certificate2 CreateSelfSigned(DateTimeOffset notBefore, DateTimeOffset notAfter) // Estensione (Drop-In) X509Certificate2 CreateSelfSigned(DateTimeOffset notBefore, DateTimeOffset notAfter, CryptoMode? mode = null) Quando il namespace ''using'' è incluso, viene automaticamente utilizzato il metodo di estensione. ---- ===== Esempio ===== 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)); // Certificato ibrido: RSA + ML-DSA var cert = request.CreateSelfSigned( DateTimeOffset.Now, DateTimeOffset.Now.AddYears(1)); ---- ===== Vedere anche ===== * [[.:start|Namespace X509Certificates]] * [[.:x509certificate2extensions|X509Certificate2Extensions]] * [[it:int:pqcrypt:api:wvds-system-security-cryptography:cryptomode|Enum CryptoMode]] {{tag>classe extension static}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//