Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

DSASignatureDeformatter.SetHashAlgorithm Method

Specifies the hash algorithm for the Digital Signature Algorithm (DSA) signature deformatter.

Namespace:  System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)
'Declaration
Public Overrides Sub SetHashAlgorithm ( _
	strName As String _
)

Parameters

strName
Type: System.String

The name of the hash algorithm to use for the signature deformatter.

ExceptionCondition
CryptographicUnexpectedOperationException

The strName parameter does not map to the SHA1 hash algorithm.

Notes to Implementers

This method is not used. The DSA algorithm requires the SHA1 hash algorithm.

Imports System
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

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.