====== Classe CertificateRequestExtensions ======
Fornisce Extension Methods per ''CertificateRequest'' con supporto PQ.
----
===== Definizione =====
namespace WvdS.System.Security.Cryptography.X509Certificates
public static class CertificateRequestExtensions
----
===== Metodi =====
^ Nome ^ Descrizione ^
| CreateSelfSigned(DateTimeOffset, DateTimeOffset, CryptoMode?) | Crea certificato self-signed con firma PQ opzionale |
| Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[], CryptoMode?) | Crea certificato firmato da CA con firma PQ opzionale |
----
===== Note =====
Questa classe extension estende ''System.Security.Cryptography.X509Certificates.CertificateRequest''((Microsoft Docs: https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.certificaterequest)).
==== Comportamento Drop-In ====
Gli Extension Methods hanno la stessa firma dei metodi originali piu un parametro ''CryptoMode'' opzionale:
// Originale .NET
X509Certificate2 CreateSelfSigned(DateTimeOffset notBefore, DateTimeOffset notAfter)
// Extension (Drop-In)
X509Certificate2 CreateSelfSigned(DateTimeOffset notBefore, DateTimeOffset notAfter, CryptoMode? mode = null)
Se il namespace ''using'' e incluso, viene utilizzato automaticamente l'Extension Method.
----
===== 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));
----
===== Vedi anche =====
* [[.:start|Namespace X509Certificates]]
* [[.:x509certificate2extensions|X509Certificate2Extensions]]
* [[..:cryptomode|Enum CryptoMode]]
{{tag>klasse extension static}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//