DSASignatureDeformatter DSASignatureDeformatter DSASignatureDeformatter DSASignatureDeformatter Class

定义

验证数字签名算法 (DSA) PKCS#1 1.5 版签名。Verifies a Digital Signature Algorithm (DSA) PKCS#1 v1.5 signature.

public ref class DSASignatureDeformatter : System::Security::Cryptography::AsymmetricSignatureDeformatter
[System.Runtime.InteropServices.ComVisible(true)]
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
type DSASignatureDeformatter = class
    inherit AsymmetricSignatureDeformatter
Public Class DSASignatureDeformatter
Inherits AsymmetricSignatureDeformatter
继承
属性

示例

#using <System.dll>

using namespace System;
using namespace System::Security::Cryptography;
int main()
{
   try
   {
      
      //Create a new instance of DSACryptoServiceProvider.
      DSACryptoServiceProvider^ DSA = gcnew DSACryptoServiceProvider;
      
      //The hash to sign.
      array<Byte>^Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};
      
      //Create an DSASignatureFormatter object and pass it the 
      //DSACryptoServiceProvider to transfer the key information.
      DSASignatureFormatter^ DSAFormatter = gcnew DSASignatureFormatter( DSA );
      
      //Set the hash algorithm to SHA1.
      DSAFormatter->SetHashAlgorithm( "SHA1" );
      
      //Create a signature for HashValue and return it.
      array<Byte>^SignedHash = DSAFormatter->CreateSignature( Hash );
      
      //Create an DSASignatureDeformatter object and pass it the 
      //DSACryptoServiceProvider to transfer the key information.
      DSASignatureDeformatter^ DSADeformatter = gcnew DSASignatureDeformatter( DSA );
      
      //Verify the hash and display the results to the console.
      if ( DSADeformatter->VerifySignature( Hash, SignedHash ) )
      {
         Console::WriteLine( "The signature was verified." );
      }
      else
      {
         Console::WriteLine( "The signature was not verified." );
      }
   }
   catch ( CryptographicException^ e ) 
   {
      Console::WriteLine( e->Message );
   }

}

using System;
using System.Security.Cryptography;

class DSASample
{
		
	static void Main()
	{
		try
		{
			//Create a new instance of DSACryptoServiceProvider.
			DSACryptoServiceProvider DSA = new DSACryptoServiceProvider();

			//The hash to sign.
			byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};

			//Create an DSASignatureFormatter object and pass it the 
			//DSACryptoServiceProvider to transfer the key information.
			DSASignatureFormatter DSAFormatter = new DSASignatureFormatter(DSA);

			//Set the hash algorithm to SHA1.
			DSAFormatter.SetHashAlgorithm("SHA1");

			//Create a signature for HashValue and return it.
			byte[] SignedHash = DSAFormatter.CreateSignature(Hash);

			//Create an DSASignatureDeformatter object and pass it the 
			//DSACryptoServiceProvider to transfer the key information.
			DSASignatureDeformatter DSADeformatter = new DSASignatureDeformatter(DSA);

			//Verify the hash and display the results to the console.
			if(DSADeformatter.VerifySignature(Hash, SignedHash))
			{
				Console.WriteLine("The signature was verified.");
			}
			else
			{
				Console.WriteLine("The signature was not verified.");
			}

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

}
Imports System.Security.Cryptography

 _

Class DSASample


    Shared Sub Main()
        Try
            'Create a new instance of DSACryptoServiceProvider.
            Dim DSA As New DSACryptoServiceProvider()

            'The hash to sign.
            Dim Hash As Byte() = {59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135}

            'Create an DSASignatureFormatter object and pass it the 
            'DSACryptoServiceProvider to transfer the key information.
            Dim DSAFormatter As New DSASignatureFormatter(DSA)

            'Set the hash algorithm to SHA1.
            DSAFormatter.SetHashAlgorithm("SHA1")

            'Create a signature for HashValue and return it.
            Dim SignedHash As Byte() = DSAFormatter.CreateSignature(Hash)

            'Create an DSASignatureDeformatter object and pass it the 
            'DSACryptoServiceProvider to transfer the key information.
            Dim DSADeformatter As New DSASignatureDeformatter(DSA)

            'Verify the hash and display the results to the console.
            If DSADeformatter.VerifySignature(Hash, SignedHash) Then
                Console.WriteLine("The signature was verified.")
            Else
                Console.WriteLine("The signature was not verified.")
            End If

        Catch e As CryptographicException
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Class

构造函数

DSASignatureDeformatter() DSASignatureDeformatter() DSASignatureDeformatter() DSASignatureDeformatter()

初始化 DSASignatureDeformatter 类的新实例。Initializes a new instance of the DSASignatureDeformatter class.

DSASignatureDeformatter(AsymmetricAlgorithm) DSASignatureDeformatter(AsymmetricAlgorithm) DSASignatureDeformatter(AsymmetricAlgorithm) DSASignatureDeformatter(AsymmetricAlgorithm)

使用指定的密钥初始化 DSASignatureDeformatter 类的新实例。Initializes a new instance of the DSASignatureDeformatter class with the specified key.

方法

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

作为默认哈希函数。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

获取当前实例的 TypeGets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(Inherited from Object)
SetHashAlgorithm(String) SetHashAlgorithm(String) SetHashAlgorithm(String) SetHashAlgorithm(String)

指定数字签名算法 (DSA) 签名反格式化程序的哈希算法。Specifies the hash algorithm for the Digital Signature Algorithm (DSA) signature deformatter.

SetKey(AsymmetricAlgorithm) SetKey(AsymmetricAlgorithm) SetKey(AsymmetricAlgorithm) SetKey(AsymmetricAlgorithm)

指定用于数字签名算法 (DSA) 签名反格式化程序的密钥。Specifies the key to be used for the Digital Signature Algorithm (DSA) signature deformatter.

ToString() ToString() ToString() ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(Inherited from Object)
VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[])

在数据上验证数字签名算法 (DSA) 签名。Verifies the Digital Signature Algorithm (DSA) signature on the data.

VerifySignature(HashAlgorithm, Byte[]) VerifySignature(HashAlgorithm, Byte[]) VerifySignature(HashAlgorithm, Byte[]) VerifySignature(HashAlgorithm, Byte[])

通过指定的哈希值验证签名。Verifies the signature from the specified hash value.

(Inherited from AsymmetricSignatureDeformatter)

适用于

另请参阅