====== Namespace WvdS.System.Security.Cryptography.Signatures ====== Contiene Extension Methods per firme digitali con supporto PQ. ---- ===== Classi ===== ^ Classe ^ Descrizione ^ | [[.:signatureextensions|SignatureExtensions]] | Extension per firme RSA, ECDsa e X509Certificate2 | | [[.:signeddataextensions|SignedDataExtensions]] | Extension per CMS/PKCS#7 SignedCms | | [[.:hybridsignatureinfo|HybridSignatureInfo]] | Container per dati di firma ibrida | ---- ===== Classi statiche ===== ^ Classe ^ Descrizione ^ | [[.:pqsignedcmshelper|PqSignedCmsHelper]] | API high-level per operazioni CMS PQ-ready | ---- ===== Tipi estesi ===== ^ Tipo .NET ^ Classe Extension ^ | ''System.Security.Cryptography.RSA''((Microsoft Docs: https://learn.microsoft.com/dotnet/api/system.security.cryptography.rsa)) | SignatureExtensions | | ''System.Security.Cryptography.ECDsa''((Microsoft Docs: https://learn.microsoft.com/dotnet/api/system.security.cryptography.ecdsa)) | SignatureExtensions | | ''System.Security.Cryptography.Pkcs.SignedCms''((Microsoft Docs: https://learn.microsoft.com/dotnet/api/system.security.cryptography.pkcs.signedcms)) | SignedDataExtensions | ---- ===== Formato firma ibrida ===== In modalita Hybrid vengono generate due firme: +---------------------------------------------+ | Firma ibrida | +---------------------------------------------+ | [4 Bytes] Lunghezza firma classica | | [n Bytes] Firma classica (RSA/ECDSA) | | [m Bytes] Firma PQ (ML-DSA) | +---------------------------------------------+ ---- ===== Esempio ===== using WvdS.System.Security.Cryptography; using WvdS.System.Security.Cryptography.Signatures; CryptoConfig.DefaultMode = CryptoMode.Hybrid; using var rsa = RSA.Create(2048); byte[] data = Encoding.UTF8.GetBytes("Dati da firmare"); // Creare firma ibrida byte[] signature = rsa.SignData( data, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); // Verificare bool valid = rsa.VerifyData( data, signature, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); ---- ===== Vedi anche ===== * [[..:x509certificates:start|Namespace X509Certificates]] * [[..:keyexchange:start|Namespace KeyExchange]] * [[..:..:..:start|Panoramica API]] {{tag>namespace signaturen}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//