4#include <security/cryptography/asymmetric_algorithm.h>
5#include <security/cryptography/hash_algorithm_name.h>
6#include <security/cryptography/ec_curve.h>
7#include <security/cryptography/ec_parameters.h>
9namespace System {
namespace Security {
namespace Cryptography {
22 ASPOSECPP_SHARED_RTTI_INFO_DECL();
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
Base class for implementations of ECDsa algorithm. Objects of this class should only be allocated usi...
Definition: ec_dsa.h:16
String get_SignatureAlgorithm() override
Gets signature algorithm to use.
static SharedPtr< ECDsa > Create(const ECCurve &curve)
Creates default ECDSA aglorithm implementation with newly created key over the specified curve.
bool VerifyData(const ByteArrayPtr &data, const ByteArrayPtr &signature, const HashAlgorithmName &hash_algorithm)
Verifies that the signature of the specified data is valid.
virtual void ImportParameters(const ECParameters ¶meters)
Imports all parameters from data structure.
bool VerifyData(const ByteArrayPtr &data, int32_t offset, int32_t count, const ByteArrayPtr &signature, const HashAlgorithmName &hash_algorithm)
Verifies that the signature of the specified data is valid.
bool VerifyData(const StreamPtr &stream, const ByteArrayPtr &signature, const HashAlgorithmName &hash_algorithm)
Verifies that the signature of the specified binary stream is valid.
static SharedPtr< ECDsa > Create(const ECParameters ¶meters)
Creates default ECDSA aglorithm implementation using the specified parameters.
virtual ECParameters ExportExplicitParameters(bool include_private_parameters)
Exports explicit parameters.
virtual ECParameters ExportParameters(bool include_private_parameters)
Exports named or explicit parameters.
virtual ByteArrayPtr HashData(ByteArrayPtr data, int32_t offset, int32_t count, HashAlgorithmName hash_algorithm)
Computes the hash value of the specified data array using the specified hash algorithm.
virtual bool VerifyHash(ByteArrayPtr hash, ByteArrayPtr signature)=0
Checks data signature.
virtual void GenerateKey(const ECCurve &curve)
Generates a new public/private key pair for the specified curve.
virtual ByteArrayPtr SignData(const StreamPtr &stream, const HashAlgorithmName &hash_algorithm)
Computes the hash value of the specified binary stream using the specified hash algorithm,...
virtual ByteArrayPtr HashData(StreamPtr stream, HashAlgorithmName hash_algorithm)
Computes the hash value of the specified binary stream using the specified hash algorithm.
virtual ByteArrayPtr SignData(const ByteArrayPtr &data, const HashAlgorithmName &hash_algorithm)
Computes the hash value of the specified data array using the specified hash algorithm,...
static SharedPtr< ECDsa > Create()
Creates default ECDSA aglorithm implementation.
virtual ByteArrayPtr SignHash(const ByteArrayPtr &hash)=0
Computes the signature of specified input value.
String get_KeyExchangeAlgorithm() override
Gets key exchange algorithm to use.
static SharedPtr< ECDsa > Create(const String &algorithm)
Creates specified ECDSA aglorithm implementation.
virtual ByteArrayPtr SignData(const ByteArrayPtr &data, int32_t offset, int32_t count, 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
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