DSASignatureDeformatter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
디지털 서명 알고리즘(DSA) PKCS#1 v1.5 서명을 확인합니다.
public ref class DSASignatureDeformatter : System::Security::Cryptography::AsymmetricSignatureDeformatter
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
[System.Runtime.InteropServices.ComVisible(true)]
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSASignatureDeformatter = class
inherit AsymmetricSignatureDeformatter
type DSASignatureDeformatter = class
inherit AsymmetricSignatureDeformatter
[<System.Runtime.InteropServices.ComVisible(true)>]
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 DSA.
DSA^ DSA = DSA::Create();
//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
//DSA instance 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
//DSA instance 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 DSA.
DSA DSA = DSA.Create();
//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
//DSA instance 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
//DSA instance 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 DSA.
Dim DSA As DSA = DSA.Create()
'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
'DSA instance 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
'DSA instance 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
설명
중요
DSA 알고리즘의 작성자는 해당 알고리즘에 대한 지원을 철회했습니다. 클래스 대신 RSA 클래스 또는 클래스를 ECDsaDSA 사용하는 것이 좋습니다. 사용 하 여 DSA 레거시 애플리케이션 및 데이터를 사용 하 여 호환성을 위해서만 합니다.
생성자
DSASignatureDeformatter() |
DSASignatureDeformatter 클래스의 새 인스턴스를 초기화합니다. |
DSASignatureDeformatter(AsymmetricAlgorithm) |
지정된 키를 사용하여 DSASignatureDeformatter 클래스의 새 인스턴스를 초기화합니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
SetHashAlgorithm(String) |
디지털 서명 알고리즘(DSA) 서명 변형자에 대해 해시 알고리즘을 지정합니다. |
SetKey(AsymmetricAlgorithm) |
디지털 서명 알고리즘(DSA) 서명 변형자를 위해 사용되는 키를 지정합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
VerifySignature(Byte[], Byte[]) |
데이터의 디지털 서명 알고리즘(DSA) 서명을 확인합니다. |
VerifySignature(HashAlgorithm, Byte[]) |
지정된 해시 값에서 서명을 확인합니다. (다음에서 상속됨 AsymmetricSignatureDeformatter) |
적용 대상
추가 정보
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기