DSACryptoServiceProvider Class
Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the DSA algorithm. This class cannot be inherited.
Assembly: mscorlib (in mscorlib.dll)
System.Security.Cryptography.AsymmetricAlgorithm
System.Security.Cryptography.DSA
System.Security.Cryptography.DSACryptoServiceProvider
| Name | Description | |
|---|---|---|
![]() | DSACryptoServiceProvider() | Initializes a new instance of the DSACryptoServiceProvider class. |
![]() | DSACryptoServiceProvider(CspParameters) | Initializes a new instance of the DSACryptoServiceProvider class with the specified parameters for the cryptographic service provider (CSP). |
![]() | DSACryptoServiceProvider(Int32) | Initializes a new instance of the DSACryptoServiceProvider class with the specified key size. |
![]() | DSACryptoServiceProvider(Int32, CspParameters) | Initializes a new instance of the DSACryptoServiceProvider class with the specified key size and parameters for the cryptographic service provider (CSP). |
| Name | Description | |
|---|---|---|
![]() | CspKeyContainerInfo | Gets a CspKeyContainerInfo object that describes additional information about a cryptographic key pair. |
![]() | KeyExchangeAlgorithm | Gets the name of the key exchange algorithm.(Overrides AsymmetricAlgorithm.KeyExchangeAlgorithm.) |
![]() | KeySize | Gets the size of the key used by the asymmetric algorithm in bits.(Overrides AsymmetricAlgorithm.KeySize.) |
![]() | LegalKeySizes | Gets the key sizes that are supported by the asymmetric algorithm.(Inherited from AsymmetricAlgorithm.) |
![]() | PersistKeyInCsp | Gets or sets a value indicating whether the key should be persisted in the cryptographic service provider (CSP). |
![]() | PublicOnly | Gets a value that indicates whether the DSACryptoServiceProvider object contains only a public key. |
![]() | SignatureAlgorithm | Gets the name of the signature algorithm.(Overrides AsymmetricAlgorithm.SignatureAlgorithm.) |
![]() ![]() | UseMachineKeyStore | Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store. |
| Name | Description | |
|---|---|---|
![]() | Clear() | Releases all resources used by the AsymmetricAlgorithm class.(Inherited from AsymmetricAlgorithm.) |
![]() | CreateSignature(Byte()) | Creates the DSA signature for the specified data.(Overrides DSA.CreateSignature(Byte()).) |
![]() | Dispose() | Releases all resources used by the current instance of the AsymmetricAlgorithm class.(Inherited from AsymmetricAlgorithm.) |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | ExportCspBlob(Boolean) | Exports a blob containing the key information associated with a DSACryptoServiceProvider object. |
![]() | ExportParameters(Boolean) | Exports the DSAParameters.(Overrides DSA.ExportParameters(Boolean).) |
![]() | FromXmlString(String) | |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ImportCspBlob(Byte()) | Imports a blob that represents DSA key information. |
![]() | ImportParameters(DSAParameters) | Imports the specified DSAParameters.(Overrides DSA.ImportParameters(DSAParameters).) |
![]() | SignData(Byte()) | Computes the hash value of the specified byte array and signs the resulting hash value. |
![]() | SignData(Byte(), HashAlgorithmName) | Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value. (Inherited from DSA.) |
![]() | SignData(Byte(), Int32, Int32) | Signs a byte array from the specified start point to the specified end point. |
![]() | SignData(Byte(), Int32, Int32, HashAlgorithmName) | Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value. (Inherited from DSA.) |
![]() | SignData(Stream) | Computes the hash value of the specified input stream and signs the resulting hash value. |
![]() | SignData(Stream, HashAlgorithmName) | Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value.(Inherited from DSA.) |
![]() | SignHash(Byte(), String) | Computes the signature for the specified hash value by encrypting it with the private key. |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
![]() | ToXmlString(Boolean) | |
![]() | VerifyData(Byte(), Byte()) | Verifies the specified signature data by comparing it to the signature computed for the specified data. |
![]() | 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. (Inherited from DSA.) |
![]() | 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. (Inherited from DSA.) |
![]() | 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. (Inherited from DSA.) |
![]() | VerifyHash(Byte(), String, Byte()) | Verifies the specified signature data by comparing it to the signature computed for the specified hash value. |
![]() | VerifySignature(Byte(), Byte()) | Verifies the DSA signature for the specified data.(Overrides DSA.VerifySignature(Byte(), Byte()).) |
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.
Note |
|---|
Newer asymmetric algorithms are available. Consider using the RSACryptoServiceProvider class instead of the DSACryptoServiceProvider class. Use DSACryptoServiceProvider only for compatibility with legacy applications and data. |
This algorithm supports key lengths from 512 bits to 1024 bits in increments of 64 bits.
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



