4#include <security/cryptography/dsa.h>
5#include <security/cryptography/i_csp_asymmetric_algorithm.h>
8namespace System {
namespace Security {
namespace Cryptography {
10namespace Details {
struct DSACryptoServiceProviderPimpl; }
25 typedef System::BaseTypesInfo<BaseType, BaseType1> ThisBaseTypesInfo;
27 ASPOSECPP_SHARED_RTTI_INFO_DECL();
173 bool m_persist_key_in_csp =
false;
175 static bool s_use_machine_key_store;
178 std::unique_ptr<Details::DSACryptoServiceProviderPimpl> m_pimpl;
182 void VerifyNotDisposed()
const;
183 void VerifyPrivateKeyExists()
const;
184 void SetupLegalKeySizesValue();
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:62
Abstract base class for asymmetric encryption algorithms. Objects of this class should only be alloca...
Definition: asymmetric_algorithm.h:19
DSA algorithm in CSP form. Objects of this class should only be allocated using System::MakeObject() ...
Definition: dsa_crypto_service_provider.h:17
ByteArrayPtr CreateSignature(ByteArrayPtr rgb_hash) override
Create DSA signature for the specified data.
bool VerifySignature(ByteArrayPtr rgb_hash, ByteArrayPtr rgb_signature) override
Verify DSA signature for the specified data.
void set_PersistKeyInCsp(bool value)
Defines whether key is persisted in CSP object.
SharedPtr< CspKeyContainerInfo > get_CspKeyContainerInfo() override
Gets a CspKeyContainerInfo object.
DSACryptoServiceProvider(int32_t key_size, const SharedPtr< CspParameters > ¶meters)
Constructor. Not implemented.
DSACryptoServiceProvider(int32_t key_size)
Constructor.
ByteArrayPtr SignData(const SharedPtr< IO::Stream > &input_stream)
Computes the signature of specified input value.
DSACryptoServiceProvider(const SharedPtr< CspParameters > ¶meters)
Constructor. Not implemented.
bool get_PublicOnly() const
Checks if public key only is present in CSP object.
bool VerifyData(const ByteArrayPtr &buffer, const ByteArrayPtr &signature)
Checks data signature.
ByteArrayPtr SignData(const ByteArrayPtr &buffer, int32_t offset, int32_t count)
Computes the signature of specified input value.
static void set_UseMachineKeyStore(bool value)
Defines whether the key persists in machine store instead of user store.
ByteArrayPtr HashData(StreamPtr stream, HashAlgorithmName hash_algorithm) override
Computes the hash value of the specified binary stream using the specified hash algorithm.
DSAParameters ExportParameters(bool include_private_parameters) override
Exports CSP parameters.
bool get_PersistKeyInCsp() const
Checks whether key is persisted in CSP object.
bool VerifyHash(const ByteArrayPtr &rgb_hash, const String &str, const ByteArrayPtr &rgb_signature)
Checks data signature.
static bool get_UseMachineKeyStore()
Checks whether the key persists in machine store instead of user store.
String get_KeyExchangeAlgorithm() override
Checks key exchange algorithm associated with object.
void Dispose() override
Frees data associated with object.
ByteArrayPtr ExportCspBlob(bool include_private_parameters) override
Exports blob with information on key. Not implemented.
void ImportParameters(DSAParameters parameters) override
Imports all parameters from data structure.
String get_SignatureAlgorithm() override
Gets signature algorithm to use.
ByteArrayPtr SignData(const ByteArrayPtr &buffer)
Computes the signature of specified input value.
ByteArrayPtr HashData(ByteArrayPtr data, int32_t offset, int32_t count, HashAlgorithmName hash_algorithm) override
Computes the hash value of the specified data array using the specified hash algorithm.
DSACryptoServiceProvider(const DSAParameters ¶meters)
Constructor.
DSACryptoServiceProvider()
Constructor. Uses default parameters.
void ImportCspBlob(ByteArrayPtr key_blob) override
Imports blob with information on key. Not implemented.
ByteArrayPtr SignHash(const ByteArrayPtr &rgb_hash, const String &str)
Computes the signature of specified input value.
int32_t get_KeySize() override
Gets key size.
Base class for implementations of DSA algorithm. Objects of this class should only be allocated using...
Definition: dsa.h:15
ByteArrayPtr SignData(const ByteArrayPtr &data, const HashAlgorithmName &hash_algorithm)
Computes the hash value of the specified data array using the specified hash algorithm,...
bool VerifyData(const ByteArrayPtr &data, const ByteArrayPtr &signature, const HashAlgorithmName &hash_algorithm)
Verifies that the signature of the specified data is valid.
Asymmetric algorithm base class. Objects of this class should only be allocated using System::MakeObj...
Definition: i_csp_asymmetric_algorithm.h:14
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
String class used across the library. Is a substitute for C# System.String when translating code....
Definition: string.h:122
Definition: db_command.h:9
Data structure of DSA algorithm parameters. This type should be allocated on stack and passed to func...
Definition: dsa_parameters.h:13
String representing the name of a hash algorithm. This type should be allocated on stack and passed t...
Definition: hash_algorithm_name.h:13