Use RSAPKCS1SignatureFormatter to create a digital signature and then uses the RSAPKCS1SignatureDeformatter class to verify the signature. : RSA « Security « C# / CSharp Tutorial






using System;
using System.Security.Cryptography;

class RSASample
{
        
    static void Main()
    {
        try
        {
            RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
            byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};

            RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);

            RSAFormatter.SetHashAlgorithm("SHA1");

            byte[] SignedHash = RSAFormatter.CreateSignature(Hash);

            RSAPKCS1SignatureDeformatter RSADeformatter = new RSAPKCS1SignatureDeformatter(RSA);

            RSADeformatter.SetHashAlgorithm("SHA1");

            Console.WriteLine(RSADeformatter.VerifySignature(Hash, SignedHash));


        }
        catch(CryptographicException e)
        {
            Console.WriteLine(e.Message);
        }
    }

}








35.10.RSA
35.10.1.Asymmetric cryptography
35.10.2.Encrypt with RSACryptoServiceProvider
35.10.3.Using RSACryptoServiceProvider
35.10.4.Using RSAPKCS1SignatureDeformatter
35.10.5.RSACryptoServiceProvider reads from xml key
35.10.6.CspParameters and RSACryptoServiceProvider
35.10.7.Encrypt an XML document using an asymmetric key
35.10.8.Use RSAPKCS1SignatureFormatter to create a digital signature and then uses the RSAPKCS1SignatureDeformatter class to verify the signature.