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 Managed implementation of the Digital Signature Algorithm (DSA) algorithm.

In Mono this class is completely implemented in managed code.

A major design difference between Mono and Microsoft implementation is the key generation. Microsoft always generate a new key pair in the constructor (unless a object is used with an non-empty container). This can degrade performance (e.g. server) when key pair are imported (e.g. XML) after the object is created. Mono implementation doesn't generate a new key pair until it is required (e.g. exporting, signing, encrypting ...). This shouldn't affect functionality but you may experience slowdown (during key pair generation) at a different time than MS implementation.

- Constructor
  Create a new DSACryptoServiceProvider instance with the default key pair length.
  Default key size is 1024 bits.
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Constructor
  Length of the public key. This can be between 512 and 1024 in multiple of 64 bits increments.
  Create a new DSACryptoServiceProvider instance with the specified key pair length.
  To be added
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Constructor
  To be added: an object of type 'CspParameters'
  Create a new DSACryptoServiceProvider instance with the default key pair length. The generated key pair will be persisted in the key store specified by the CspParameters.
  Default key size is 1024 bits.
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Constructor
  Length of the public key. This can be between 512 and 1024 in multiple of 64 bits increments.
  To be added: an object of type 'CspParameters'
  Create a new DSACryptoServiceProvider instance with the specified key pair length. The generated key pair will be persisted in the key store specified by the CspParameters.
  To be added
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Byte[] `` The SHA1 hash to be signed. Sign the specified hash value using the instance private key. An array of 40 bytes containing the DSA signature of the specified hash. 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). 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Runtime.InteropServices.ComVisible(false)
  System.Security.Cryptography.CspKeyContainerInfo To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  System.Void `` To be added: an object of type 'bool' To be added The private key is zeroized during Dispose. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Byte[] `` To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(false)
- Method
  System.Security.Cryptography.DSAParameters `` True to include private parameters; otherwise, false. Export the instance key into a structure. a DSAParameters structure contaning each parameters of the key.

  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.

  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Void To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` To be added. To be added. To be added. 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(false)
- Method
  System.Void `` A DSAParameters containing the DSA key parameters. Import the key from the structure into the current instance. 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. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.String Return the common, but unique, name when using this algorithm for key exchange. null DSA cannot be used as a key exchange algorithm. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Int32 Return the key length (in bits) of the current key. The size (in bits) of the current key. To be added 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Security.Cryptography.KeySizes[] Return an array of legal key size for this implementation of DSA. To be added: an object of type 'KeySizes []' This implementation support DSA keys from 512 bits up to 1024 bits in 64 bits increments. 1.0.5000.0
- Property
  System.Boolean Specify if the current key pair is persisted into a Cryptographic Service Provider (CSP). True if the key is persisted, false otherwise. If specified Mono:: key pair persistance mechanism will kept the keys on disk. A must been specified in the constructor to allow key persistance. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Runtime.InteropServices.ComVisible(false)
  System.Boolean To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Property
  System.String Return the common, but unique, name when using this algorithm for signature. 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/ 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Byte[] `` The data buffer to be hashed then signed. Process the SHA1 algorithm on the complete buffer specified then sign it's result. The signature value of the processed buffer. The supplied data is hashed using the default implementation then signed. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Byte[] `` The data stream to be hashed then signed. Process the SHA1 hash algorithm on the specified stream then sign it's result. The signature value of the processed stream. The supplied data is hashed using the default implementation then signed. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Byte[] `` `` `` The data buffer to be hashed then signed. To be added: an object of type 'int' To be added: an object of type 'int' Process the SHA1 algorithm on a subset of the buffer specified then sign it's result. The signature value of the processed buffer. The supplied data is hashed using the default implementation then signed. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Byte[] `` `` The hash to be signed. The algorithm used to compute the hash value. Sign the specified hash value. An array of 40 bytes containing the DSA signature of the specified hash. A is thrown is str isn't "SHA1". 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Boolean Specified if, by default, the key store for persistance should be the machine store (default is the user store). True if the machine key store is used by default, false otherwise. Keys kept in the machine store are readable by every user on the system. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Boolean `` `` The data buffer to be hashed then verified. An array of 40 bytes containing the DSA signature of the specified hash. Process the SHA1 algorithm on the complete buffer specified then verify it's signature. True if the signature can be verified, false otherwise. The supplied data is hashed using the default SHA1 implementation then the signature is verified. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Boolean `` `` `` The SHA1 hash to be verified. The algorithm used to compute the hash value. An array of 40 bytes containing the DSA signature of the specified hash. Verify the signature using the specified hash value. True if the signature can be verified, false otherwise. 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). 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Boolean `` `` The SHA1 hash to be verified. An array of 40 bytes containing the DSA signature of the specified hash. Verify that signature match the hash value using the instance public key. True if the signature can be verified, false otherwise. 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). 1.0.5000.0 2.0.0.0 4.0.0.0
System.Runtime.InteropServices.ComVisible(true)