DSA.VerifyData Method

Definition

Verifies that a digital signature is valid.

Overloads

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and comparing it to the provided signature.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

VerifyData(Stream, Byte[], HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and comparing it to the provided signature.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the data in a byte span using the specified hash algorithm and comparing it to the provided signature.

VerifyData(Byte[], Byte[], HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and comparing it to the provided signature.

VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

public:
 bool VerifyData(cli::array <System::Byte> ^ data, int offset, int count, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::Security::Cryptography::DSASignatureFormat signatureFormat);
public bool VerifyData (byte[] data, int offset, int count, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);
member this.VerifyData : byte[] * int * int * byte[] * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.DSASignatureFormat -> bool
Public Function VerifyData (data As Byte(), offset As Integer, count As Integer, signature As Byte(), hashAlgorithm As HashAlgorithmName, signatureFormat As DSASignatureFormat) As Boolean

Parameters

data
Byte[]

An array that contains the signed data.

offset
Int32

The starting index of the signed portion of data.

count
Int32

The number of bytes in data that were signed.

signature
Byte[]

The signature to verify.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to hash the data for the verification process.

signatureFormat
DSASignatureFormat

The encoding format for signature.

Returns

Boolean

true if the digital signature is valid for the provided data; otherwise, false.

Exceptions

data or signature is null.

signatureFormat is not a known format.

-or- offset is less than zero.

-or- count is less than zero.

-or- offset + count - 1 results in an index that is beyond the upper bound of data.

hashAlgorithm has a null or empty Name.

An error occurred in the hashing or verification operation.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and comparing it to the provided signature.

public:
 virtual bool VerifyData(cli::array <System::Byte> ^ data, int offset, int count, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm);
public virtual bool VerifyData (byte[] data, int offset, int count, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
abstract member VerifyData : byte[] * int * int * byte[] * System.Security.Cryptography.HashAlgorithmName -> bool
override this.VerifyData : byte[] * int * int * byte[] * System.Security.Cryptography.HashAlgorithmName -> bool
Public Overridable Function VerifyData (data As Byte(), offset As Integer, count As Integer, signature As Byte(), hashAlgorithm As HashAlgorithmName) As Boolean

Parameters

data
Byte[]

The signed data.

offset
Int32

The starting index at which to compute the hash.

count
Int32

The number of bytes to hash.

signature
Byte[]

The signature data to be verified.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to create the hash value of the data.

Returns

Boolean

true if the digital signature is valid; otherwise, false.

Exceptions

data is null.

-or-

signature is null.

hashAlgorithm.Name is null or Empty.

offset is less than zero.

-or-

count is less than zero.

-or-

offset + count - 1 results in an index that is beyond the upper bound of data.

The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.

-or-

Verifying the signature otherwise failed.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

public:
 bool VerifyData(ReadOnlySpan<System::Byte> data, ReadOnlySpan<System::Byte> signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::Security::Cryptography::DSASignatureFormat signatureFormat);
public bool VerifyData (ReadOnlySpan<byte> data, ReadOnlySpan<byte> signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);
member this.VerifyData : ReadOnlySpan<byte> * ReadOnlySpan<byte> * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.DSASignatureFormat -> bool
Public Function VerifyData (data As ReadOnlySpan(Of Byte), signature As ReadOnlySpan(Of Byte), hashAlgorithm As HashAlgorithmName, signatureFormat As DSASignatureFormat) As Boolean

Parameters

data
ReadOnlySpan<Byte>

The signed data.

signature
ReadOnlySpan<Byte>

The signature to verify.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to hash the data for the verification process.

signatureFormat
DSASignatureFormat

The encoding format for signature.

Returns

Boolean

true if the digital signature is valid for the provided data; otherwise, false.

Exceptions

signatureFormat is not a known format.

An error occurred in the hashing or verification operation.

VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

public:
 bool VerifyData(System::IO::Stream ^ data, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::Security::Cryptography::DSASignatureFormat signatureFormat);
public bool VerifyData (System.IO.Stream data, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);
member this.VerifyData : System.IO.Stream * byte[] * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.DSASignatureFormat -> bool
Public Function VerifyData (data As Stream, signature As Byte(), hashAlgorithm As HashAlgorithmName, signatureFormat As DSASignatureFormat) As Boolean

Parameters

data
Stream

The signed data.

signature
Byte[]

The signature to verify.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to hash the data for the verification process.

signatureFormat
DSASignatureFormat

The encoding format for signature.

Returns

Boolean

true if the digital signature is valid for the provided data; otherwise, false.

Exceptions

data or signature is null.

signatureFormat is not a known format.

hashAlgorithm has a null or empty Name.

An error occurred in the hashing or verification operation.

VerifyData(Stream, Byte[], HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and comparing it to the provided signature.

public:
 virtual bool VerifyData(System::IO::Stream ^ data, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm);
public virtual bool VerifyData (System.IO.Stream data, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
abstract member VerifyData : System.IO.Stream * byte[] * System.Security.Cryptography.HashAlgorithmName -> bool
override this.VerifyData : System.IO.Stream * byte[] * System.Security.Cryptography.HashAlgorithmName -> bool
Public Overridable Function VerifyData (data As Stream, signature As Byte(), hashAlgorithm As HashAlgorithmName) As Boolean

Parameters

data
Stream

The signed data.

signature
Byte[]

The signature data to be verified.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to create the hash value of the data.

Returns

Boolean

true if the digital signature is valid; otherwise, false.

Exceptions

data is null.

-or-

signature is null.

hashAlgorithm.Name is null or Empty.

The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.

-or-

Verifying the signature otherwise failed.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the data in a byte span using the specified hash algorithm and comparing it to the provided signature.

public:
 virtual bool VerifyData(ReadOnlySpan<System::Byte> data, ReadOnlySpan<System::Byte> signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm);
public virtual bool VerifyData (ReadOnlySpan<byte> data, ReadOnlySpan<byte> signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
abstract member VerifyData : ReadOnlySpan<byte> * ReadOnlySpan<byte> * System.Security.Cryptography.HashAlgorithmName -> bool
override this.VerifyData : ReadOnlySpan<byte> * ReadOnlySpan<byte> * System.Security.Cryptography.HashAlgorithmName -> bool
Public Overridable Function VerifyData (data As ReadOnlySpan(Of Byte), signature As ReadOnlySpan(Of Byte), hashAlgorithm As HashAlgorithmName) As Boolean

Parameters

data
ReadOnlySpan<Byte>

The signed data.

signature
ReadOnlySpan<Byte>

The signature to be verified.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to create the hash value of the data.

Returns

Boolean

true if the digital signature is valid; otherwise, false.

Exceptions

hashAlgorithm.Name is null or Empty.

The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.

-or-

Verifying the signature otherwise failed.

VerifyData(Byte[], Byte[], HashAlgorithmName)

Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and comparing it to the provided signature.

public:
 bool VerifyData(cli::array <System::Byte> ^ data, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm);
public bool VerifyData (byte[] data, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
member this.VerifyData : byte[] * byte[] * System.Security.Cryptography.HashAlgorithmName -> bool
Public Function VerifyData (data As Byte(), signature As Byte(), hashAlgorithm As HashAlgorithmName) As Boolean

Parameters

data
Byte[]

The signed data.

signature
Byte[]

The signature data to be verified.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to create the hash value of the data.

Returns

Boolean

true if the digital signature is valid; otherwise, false.

Exceptions

data is null.

-or-

signature is null.

The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.

-or-

Verifying the signature otherwise failed.

hashAlgorithm.Name is null or Empty.

VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

Verifies that a digital signature is valid for the provided data.

public:
 bool VerifyData(cli::array <System::Byte> ^ data, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::Security::Cryptography::DSASignatureFormat signatureFormat);
public bool VerifyData (byte[] data, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);
member this.VerifyData : byte[] * byte[] * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.DSASignatureFormat -> bool
Public Function VerifyData (data As Byte(), signature As Byte(), hashAlgorithm As HashAlgorithmName, signatureFormat As DSASignatureFormat) As Boolean

Parameters

data
Byte[]

The signed data.

signature
Byte[]

The signature to verify.

hashAlgorithm
HashAlgorithmName

The hash algorithm used to hash the data for the verification process.

signatureFormat
DSASignatureFormat

The encoding format for signature.

Returns

Boolean

true if the digital signature is valid for the provided data; otherwise, false.

Exceptions

data or signature is null.

signatureFormat is not a known format.

hashAlgorithm has a null or empty Name.

An error occurred in the hashing or verification operation.

Applies to