DSACryptoServiceProvider Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the DSA algorithm. This class cannot be inherited.

Namespace:  System.Security.Cryptography
Assembly:  System.Security (in System.Security.dll)

public sealed class DSACryptoServiceProvider : AsymmetricAlgorithm

The DSACryptoServiceProvider type exposes the following members.

  NameDescription
Public methodDSACryptoServiceProvider(CryptoKey)Initializes a new instance of the DSACryptoServiceProvider class with the specified key.
Public methodDSACryptoServiceProvider(Int32)Initializes a new instance of the DSACryptoServiceProvider class with the specified key size.
Public methodDSACryptoServiceProvider(Session, Int32)Initializes a new instance of the DSACryptoServiceProvider class with the specified session and key size.
Public methodDSACryptoServiceProvider(String, Int32)Initializes a new instance of the DSACryptoServiceProvider class with the specified service provider name and key size.
Top

  NameDescription
Public propertyHashAlgorithmGets or sets the hash algorithm to use when generating a signature for the data.
Public propertyIsDisposed (Inherited from SessionContainer.)
Public propertyKeyPairGets or sets the CryptoKey object representing the key pair for the asymmetric algorithm. (Inherited from AsymmetricAlgorithm.)
Public propertyKeySizeGets or sets the size, in bits, of the key modulus used by the asymmetric algorithm. (Inherited from AsymmetricAlgorithm.)
Public propertyLegalKeySizesGets the key sizes that are supported by the asymmetric algorithm. (Inherited from AsymmetricAlgorithm.)
Public propertyPublicOnlyGets a value that indicates whether the DSACryptoServiceProvider object contains only a public key.
Public propertySession (Inherited from SessionContainer.)
Top

  NameDescription
Public methodClearReleases all resources used by the AsymmetricAlgorithm class. (Inherited from AsymmetricAlgorithm.)
Public methodCreateSignatureCreates the DSA signature for the specified data.
Public methodDispose()()()() (Inherited from SessionContainer.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public methodExportParametersExports the DSAParameters.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodImportParametersImports the specified DSAParameters.
Public methodSignData(array<Byte>[]()[][])Computes the hash value of the specified byte array and signs the resulting hash value.
Public methodSignData(Stream)Computes the hash value of the specified input stream and signs the resulting hash value.
Public methodSignData(array<Byte>[]()[][], Int32, Int32)Signs a byte array from the specified start point to the specified end point.
Public methodSignHashComputes the signature for the specified hash value by encrypting it with the private key.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodVerifyDataVerifies the specified signature data by comparing it to the signature computed for the specified data.
Public methodVerifyHashVerifies the specified signature data by comparing it to the signature computed for the specified hash value.
Public methodVerifySignatureVerifies the DSA signature for the specified data.
Top

  NameDescription
Public fieldStatic memberDefaultKeySizeSpecifies the size, in bits, to use for the key size if one is not provided.
Top

You can use the DSACryptoServiceProvider class to create digital signatures and protect the integrity of your data.

To use a public-key system to digitally sign a message, the sender first applies a hash function to the message to create a message digest. The sender then encrypts the message digest with the sender's private key to create the sender's personal signature. Upon receiving the message and signature, the receiver decrypts the signature using the sender's public key to recover the message digest and hashes the message using the same hash algorithm that the sender used. If the message digest that the receiver computes exactly matches the message digest received from the sender, the receiver can be sure that the message was not altered while in transit. Note that a signature can be verified by anyone, because the sender's public key is common knowledge.

This algorithm supports key lengths from 512 bits to 1024 bits in increments of 64 bits.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show: