mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.5000.0 2.0.0.0 4.0.0.0 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.Security.Cryptography.DSA System.Security.Cryptography.ICspAsymmetricAlgorithm System.Runtime.InteropServices.ComVisible(true)

You can use the 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.

Newer asymmetric algorithms are available. Consider using the class instead of the class. Use only for compatibility with legacy applications and data.

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

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

- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  Default key size is 1024 bits.

  Initializes a new instance of the class.

- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  To be added

  Initializes a new instance of the class with the specified key size.

  The size of the key for the asymmetric algorithm in bits.
- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  Default key size is 1024 bits.

  Initializes a new instance of the class with the specified parameters for the cryptographic service provider (CSP).

  The parameters for the CSP.
- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  To be added

  Initializes a new instance of the class with the specified key size and parameters for the cryptographic service provider (CSP).

  The size of the key for the cryptographic algorithm in bits.
  The parameters for the CSP.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Byte[] `` A will be thrown if the instance doesn't have a private key or if the parameter rgbHash isn't exactly 20 bytes long (like all SHA1 hashes are).

  Creates the signature for the specified data.

  The digital signature for the specified data.

  The data to be signed.
- Property
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(false)
  System.Security.Cryptography.CspKeyContainerInfo To be added.

  Use the property to retrieve additional information about a cryptographic key pair. The returned object describes whether the key is exportable, and specifies the key container name, information about the provider, and other information.

  In cases where a random key is generated, a key container will not be created until you call a method that uses the key. Some properties of the object returned by the property will throw a if a key container has not been created. To make sure that a key container has been created, call a method such as , , , , and so on, before you call the property.

  Gets a object that describes additional information about a cryptographic key pair.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void ``

  This method is called by the public Dispose() method and the Finalize method. Dispose() invokes the protected Dispose(Boolean) method with the disposing parameter set to true. Finalize invokes Dispose with disposing set to false.

  When the parameter is true, this method releases all resources held by any managed objects that this references. This method invokes the Dispose() method of each referenced object.

  Releases the unmanaged resources used by the and optionally releases the managed resources.

  true to release both managed and unmanaged resources; false to release only unmanaged resources.
- Method
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(false)
  System.Byte[] ``

  The method returns a blob containing key information that is compatible with the unmanaged Microsoft Cryptographic API (CAPI).

  Exports a blob containing the key information associated with a object.

  A byte array containing the key information associated with a object.

  true to include the private key; otherwise, false.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Security.Cryptography.DSAParameters ``

  A is thrown if the private key is requested but not available. Sadly there is not way (before 2.0) to know if the private key is available without throwing an exception. Here is a safe way to test for the private key presence:

  `bool IsPrivateKeyAvailable (DSA dsa) { if (dsa == null) throw new ArgumentNullException ("dsa"); try { DSAParameter p = dsa.ExportParameters (true); // private key is available - now zeroize it from memory Array.Clear (p.X, 0, p.X.Length); return true; } catch (CryptographicException) // private key wasn't available return false; } }`

  You are responsable to zeroize the private key (.) if you export it from the instance.

  Exports the .

  The parameters for .

  true to include private parameters; otherwise, false.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void To be added. To be added.
- Method
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(false)
  System.Void ``

  The method initializes the key data of a object using a blob that is compatible with the unmanaged Microsoft Cryptographic API (CAPI).

  Imports a blob that represents DSA key information.

  A byte array that represents a DSA key blob.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` Parameter is required if you want to import the DSA private key into the instance. Note that you are responsable to zeroize the private key inside the after it's been imported.

  Imports the specified .

  The parameters for .
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.String null DSA cannot be used as a key exchange algorithm.

  Gets the name of the key exchange algorithm.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Int32 The size (in bits) of the current key.

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

  The class does not allow you to change key sizes using the property. Any value written to this property will fail to update the property without error. To change the key size, use one of the constructor overloads.

  Gets the size of the key used by the asymmetric algorithm in bits.

- Property
  System.Security.Cryptography.KeySizes[] To be added: an object of type 'KeySizes []'

  Only values represented in this array are valid for the property .

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

  Gets the key sizes that are supported by the asymmetric algorithm.

  1.0.5000.0
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Boolean True if the key is persisted, false otherwise.

  Use this property when you want to persist a key in a key container.

  Gets or sets a value indicating whether the key should be persisted in the cryptographic service provider (CSP).

- Property
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(false)
  System.Boolean To be added.

  The class can be initialized either with a public key only or with both a public and private key. Use the property to determine whether the current instance contains only a public key or both a public and private key.

  Gets a value that indicates whether the object contains only a public key.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.String http://www.w3.org/2000/09/xmldsig#dsa-sha1 This value comes from the W3 "XML-Signature Syntax and Processing" specification available at http://www.w3.org/TR/xmldsig-core/

  Gets the name of the signature algorithm.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Byte[] ``

  This method creates a digital signature that is verified using the method.

  uses the hash algorithm.

  Computes the hash value of the specified byte array and signs the resulting hash value.

  The signature for the specified data.

  The input data for which to compute the hash.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Byte[] ``

  uses the hash algorithm.

  Computes the hash value of the specified input stream and signs the resulting hash value.

  The signature for the specified data.

  The input data for which to compute the hash.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Byte[] `` `` ``

  This method creates a digital signature that is verified using the method.

  uses the hash algorithm.

  Signs a byte array from the specified start point to the specified end point.

  The signature for the specified data.

  The input data to sign. The offset into the array from which to begin using data. The number of bytes in the array to use as data.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Byte[] `` ``

  This method creates a digital signature that is verified using the method.

  uses the hash algorithm.

  Computes the signature for the specified hash value by encrypting it with the private key.

  The signature for the specified hash value.

  The hash value of the data to be signed. The name of the hash algorithm used to create the hash value of the data.
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Boolean True if the machine key store is used by default, false otherwise.

  Setting this property to true is equivalent to passing the flag to a object. The property applies to all code in the current application domain, while the object applies only to classes that explicitly reference it. These settings are useful when impersonating or running under an account whose user profile is not loaded.

  Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Boolean `` ``

  This method verifies the digital signature produced by .

  uses the hash algorithm.

  Verifies the specified signature data by comparing it to the signature computed for the specified data.

  true if the signature verifies as valid; otherwise, false.

  The data that was signed. The signature data to be verified.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Boolean `` `` ``

  This method verifies the digital signature produced by .

  If the parameter is null, the default hash algorithm (SHA1) is used. The valid hash algorithms is .

  Verifies the specified signature data by comparing it to the signature computed for the specified hash value.

  true if the signature verifies as valid; otherwise, false.

  The hash value of the data to be signed. The name of the hash algorithm used to create the hash value of the data. The signature data to be verified.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Boolean `` `` A will be thrown if the parameter rgbHash isn't exactly 20 bytes long (like all SHA1 hashes are) or if the signature length isn't 40 bytes long (as all DSA signatures are).

  Verifies the signature for the specified data.

  true if matches the signature computed using the specified hash algorithm and key on ; otherwise, false.

  The data signed with . The signature to be verified for .