Export (0) Print
Expand All

DSACryptoServiceProvider Class

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

System.Object
  System.Security.Cryptography.AsymmetricAlgorithm
    System.Security.Cryptography.DSA
      System.Security.Cryptography.DSACryptoServiceProvider

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

[ComVisibleAttribute(true)]
public sealed class DSACryptoServiceProvider : DSA, 
	ICspAsymmetricAlgorithm

The DSACryptoServiceProvider type exposes the following members.

  NameDescription
Public methodDSACryptoServiceProvider()Initializes a new instance of the DSACryptoServiceProvider class.
Public methodDSACryptoServiceProvider(CspParameters)Initializes a new instance of the DSACryptoServiceProvider class with the specified parameters for the cryptographic service provider (CSP).
Public methodDSACryptoServiceProvider(Int32)Initializes a new instance of the DSACryptoServiceProvider class with the specified key size.
Public methodDSACryptoServiceProvider(Int32, CspParameters)Initializes a new instance of the DSACryptoServiceProvider class with the specified key size and parameters for the cryptographic service provider (CSP).
Top

  NameDescription
Public propertyCspKeyContainerInfoGets a CspKeyContainerInfo object that describes additional information about a cryptographic key pair.
Public propertyKeyExchangeAlgorithmGets the name of the key exchange algorithm. (Overrides AsymmetricAlgorithm.KeyExchangeAlgorithm.)
Public propertyKeySizeGets the size of the key used by the asymmetric algorithm in bits. (Overrides AsymmetricAlgorithm.KeySize.)
Public propertyLegalKeySizesGets the key sizes that are supported by the asymmetric algorithm. (Inherited from AsymmetricAlgorithm.)
Public propertyPersistKeyInCspGets or sets a value indicating whether the key should be persisted in the cryptographic service provider (CSP).
Public propertyPublicOnlyGets a value that indicates whether the DSACryptoServiceProvider object contains only a public key.
Public propertySignatureAlgorithmGets the name of the signature algorithm. (Overrides AsymmetricAlgorithm.SignatureAlgorithm.)
Public propertyStatic memberUseMachineKeyStoreGets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.
Top

  NameDescription
Public methodClearReleases all resources used by the AsymmetricAlgorithm class. (Inherited from AsymmetricAlgorithm.)
Public methodCreateSignatureCreates the DSA signature for the specified data. (Overrides DSA.CreateSignature(Byte[]).)
Public methodDispose()Releases all resources used by the current instance of the AsymmetricAlgorithm class. (Inherited from AsymmetricAlgorithm.)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodExportCspBlobExports a blob containing the key information associated with a DSACryptoServiceProvider object.
Public methodExportParametersExports the DSAParameters. (Overrides DSA.ExportParameters(Boolean).)
Public methodFromXmlStringReconstructs a DSA object from an XML string. (Inherited from DSA.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodImportCspBlobImports a blob that represents DSA key information.
Public methodImportParametersImports the specified DSAParameters. (Overrides DSA.ImportParameters(DSAParameters).)
Public methodSignData(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(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 methodToXmlStringCreates and returns an XML string representation of the current DSA object. (Inherited from DSA.)
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. (Overrides DSA.VerifySignature(Byte[], Byte[]).)
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.

NoteNote

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.

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

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.

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:
© 2014 Microsoft