DSACryptoServiceProvider Class
Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the DSA algorithm. This class cannot be inherited.
System.Security.Cryptography.AsymmetricAlgorithm
System.Security.Cryptography.DSA
System.Security.Cryptography.DSACryptoServiceProvider
Namespace: System.Security.Cryptography
Assembly: mscorlib (in mscorlib.dll)
The DSACryptoServiceProvider type exposes the following members.
| 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 | 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 | Exports a blob containing the key information associated with a DSACryptoServiceProvider object. |
![]() | ExportParameters | Exports the DSAParameters. (Overrides DSA.ExportParameters(Boolean).) |
![]() | FromXmlString | Reconstructs a DSA object from an XML string. (Inherited from DSA.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | ImportCspBlob | Imports a blob that represents DSA key information. |
![]() | ImportParameters | 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(Stream) | Computes the hash value of the specified input stream and signs the resulting hash value. |
![]() | SignData(Byte[], Int32, Int32) | Signs a byte array from the specified start point to the specified end point. |
![]() | SignHash | 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 | Creates and returns an XML string representation of the current DSA object. (Inherited from DSA.) |
![]() | VerifyData | Verifies the specified signature data by comparing it to the signature computed for the specified data. |
![]() | VerifyHash | Verifies the specified signature data by comparing it to the signature computed for the specified hash value. |
![]() | VerifySignature | 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.
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.
