4#include <security/cryptography/ec_dsa.h>
5#include <security/cryptography/ec_key_xml_format.h>
6#include <security/cryptography/hash_algorithm_name.h>
12class ECDSA_PrivateKey;
16namespace System {
namespace Security {
namespace Cryptography {
29 ASPOSECPP_SHARED_RTTI_INFO_DECL();
52 ASPOSECPP_SHARED_API
ECDsaBotan(
const Botan::ECDSA_PublicKey& key);
56 ASPOSECPP_SHARED_API
ECDsaBotan(
const Botan::ECDSA_PrivateKey& key);
60 ASPOSECPP_SHARED_API
void set_KeySize(int32_t value)
override;
173 virtual ASPOSECPP_SHARED_API
void Dispose(
bool disposing);
176 struct Implementation;
177 std::unique_ptr<Implementation> m_pimpl;
181 void VerifyNotDisposed()
const;
182 void SetupLegalKeySizesValue();
183 void GenerateKey(int32_t key_size);
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
ECDsa algorithm in Botan form. Objects of this class should only be allocated using System::MakeObjec...
Definition: ec_dsa_botan.h:23
String ToXmlString(bool include_private_parameters) override
Exports all parameters in XML format. Not implemented.
ByteArrayPtr HashData(StreamPtr stream, HashAlgorithmName hash_algorithm) override
Computes the hash value of the specified binary stream using the specified hash algorithm.
bool VerifyData(const StreamPtr &stream, const ByteArrayPtr &signature)
Verifies that the signature of the specified binary stream is valid.
void FromXmlString(const String &xml_string, ECKeyXmlFormat format)
Initializes object using XML-encoded parameters. Not implemented.
String ToXmlString(ECKeyXmlFormat format)
Exports all parameters in XML format.
ECDsaBotan(const ECParameters ¶meters)
Constructor.
ECDsaBotan(const ECCurve &curve)
Constructor.
bool VerifyData(const ByteArrayPtr &data, int32_t offset, int32_t count, const ByteArrayPtr &signature)
Verifies that the signature of the specified data is valid.
virtual void Dispose(bool disposing)
Frees data associated with object.
ECDsaBotan(int32_t key_size)
Constructor.
bool VerifyHash(ByteArrayPtr hash, ByteArrayPtr signature) override
Checks data signature.
ECParameters ExportParameters(bool include_private_parameters) override
Exports named or explicit parameters.
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.
ECDsaBotan()
Constructor. Uses default parameters.
void FromXmlString(String xml_string) override
Initializes object using XML-encoded parameters. Not implemented.
void set_HashAlgorithm(const HashAlgorithmName &value)
Sets hash algortihm.
ECParameters ExportExplicitParameters(bool include_private_parameters) override
Exports explicit parameters.
ByteArrayPtr SignData(const StreamPtr &stream)
Computes the hash value of the specified binary stream, and signs the result.
void GenerateKey(const ECCurve &curve) override
Generates a new public/private key pair for the specified curve.
void ImportParameters(const ECParameters ¶meters) override
Imports all parameters from data structure.
bool VerifyData(const ByteArrayPtr &data, const ByteArrayPtr &signature)
Verifies that the signature of the specified data is valid.
ECDsaBotan(const Botan::ECDSA_PublicKey &key)
Constructor.
ByteArrayPtr SignHash(const ByteArrayPtr &hash) override
Computes the signature of specified input value.
ECDsaBotan(const Botan::ECDSA_PrivateKey &key)
Constructor.
HashAlgorithmName get_HashAlgorithm() const
Gets hash algortihm.
void set_KeySize(int32_t value) override
Sets key size.
ByteArrayPtr SignData(const ByteArrayPtr &data, int32_t offset, int32_t count)
Computes the hash value of the specified data array, and signs the result.
ByteArrayPtr SignData(const ByteArrayPtr &data)
Computes the hash value of the specified data array, and signs the result.
Base class for implementations of ECDsa algorithm. Objects of this class should only be allocated usi...
Definition: ec_dsa.h:16
bool VerifyData(const ByteArrayPtr &data, const ByteArrayPtr &signature, const HashAlgorithmName &hash_algorithm)
Verifies that the signature of the specified data is valid.
virtual ByteArrayPtr SignData(const ByteArrayPtr &data, const HashAlgorithmName &hash_algorithm)
Computes the hash value of the specified data array using the specified hash algorithm,...
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
ECKeyXmlFormat
XML format for elliptic curve keys.
Definition: ec_key_xml_format.h:8
Definition: db_command.h:9
An elliptic curve.
Definition: ec_curve.h:13
Public and private key parameters of an elliptic curve.
Definition: ec_parameters.h:11
String representing the name of a hash algorithm. This type should be allocated on stack and passed t...
Definition: hash_algorithm_name.h:13