ECDsaBotan

ECDsaBotan class

ECDsa algorithm in Botan form. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

class ECDsaBotan : public System::Security::Cryptography::ECDsa

Methods

MethodDescription
void Clear()Releases all resources.
static SharedPtr<ECDsa> Create()Creates default ECDSA aglorithm implementation.
static SharedPtr<ECDsa> Create(const ECCurve&)Creates default ECDSA aglorithm implementation with newly created key over the specified curve.
static SharedPtr<ECDsa> Create(const ECParameters&)Creates default ECDSA aglorithm implementation using the specified parameters.
static SharedPtr<ECDsa> Create(const String&)Creates specified ECDSA aglorithm implementation.
void Dispose() overrideReleases resources owned by the current object.
ECDsaBotan()Constructor. Uses default parameters.
ECDsaBotan(const ECParameters&)Constructor.
ECDsaBotan(const ECCurve&)Constructor.
ECDsaBotan(int32_t)Constructor.
ECDsaBotan(const Botan::ECDSA_PublicKey&)Constructor.
ECDsaBotan(const Botan::ECDSA_PrivateKey&)Constructor.
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares value type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
ECParameters ExportExplicitParameters(bool) overrideExports explicit parameters.
ECParameters ExportParameters(bool) overrideExports named or explicit parameters.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
void FromXmlString(String) overrideInitializes object using XML-encoded parameters. Not implemented.
void FromXmlString(const String&, ECKeyXmlFormat)Initializes object using XML-encoded parameters. Not implemented.
void GenerateKey(const ECCurve&) overrideGenerates a new public/private key pair for the specified curve.
HashAlgorithmName get_HashAlgorithm() constGets hash algortihm.
String get_KeyExchangeAlgorithm() overrideGets key exchange algorithm to use.
virtual int32_t get_KeySize()Gets key size.
virtual ArrayPtr<SharedPtr<KeySizes>> get_LegalKeySizes()Gets array of allowed key sizes.
String get_SignatureAlgorithm() overrideGets signature algorithm to use.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
ByteArrayPtr HashData(ByteArrayPtr, int32_t, int32_t, HashAlgorithmName) overrideComputes the hash value of the specified data array using the specified hash algorithm.
ByteArrayPtr HashData(StreamPtr, HashAlgorithmName) overrideComputes the hash value of the specified binary stream using the specified hash algorithm.
void ImportParameters(const ECParameters&) overrideImports all parameters from data structure.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
void set_HashAlgorithm(const HashAlgorithmName&)Sets hash algortihm.
void set_KeySize(int32_t) overrideSets key size.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
ByteArrayPtr SignData(const ByteArrayPtr&)Computes the hash value of the specified data array, and signs the result.
ByteArrayPtr SignData(const ByteArrayPtr&, int32_t, int32_t)Computes the hash value of the specified data array, and signs the result.
ByteArrayPtr SignData(const StreamPtr&)Computes the hash value of the specified binary stream, and signs the result.
virtual ByteArrayPtr SignData(const ByteArrayPtr&, const HashAlgorithmName&)Computes the hash value of the specified data array using the specified hash algorithm, and signs the result.
virtual ByteArrayPtr SignData(const ByteArrayPtr&, int32_t, int32_t, const HashAlgorithmName&)Computes the hash value of the specified data array using the specified hash algorithm, and signs the result.
virtual ByteArrayPtr SignData(const StreamPtr&, const HashAlgorithmName&)Computes the hash value of the specified binary stream using the specified hash algorithm, and signs the result.
ByteArrayPtr SignHash(const ByteArrayPtr&) overrideComputes the signature of specified input value.
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
String ToXmlString(bool) overrideExports all parameters in XML format. Not implemented.
String ToXmlString(ECKeyXmlFormat)Exports all parameters in XML format.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
bool VerifyData(const ByteArrayPtr&, const ByteArrayPtr&)Verifies that the signature of the specified data is valid.
bool VerifyData(const ByteArrayPtr&, int32_t, int32_t, const ByteArrayPtr&)Verifies that the signature of the specified data is valid.
bool VerifyData(const StreamPtr&, const ByteArrayPtr&)Verifies that the signature of the specified binary stream is valid.
bool VerifyData(const ByteArrayPtr&, const ByteArrayPtr&, const HashAlgorithmName&)Verifies that the signature of the specified data is valid.
bool VerifyData(const ByteArrayPtr&, int32_t, int32_t, const ByteArrayPtr&, const HashAlgorithmName&)Verifies that the signature of the specified data is valid.
bool VerifyData(const StreamPtr&, const ByteArrayPtr&, const HashAlgorithmName&)Verifies that the signature of the specified binary stream is valid.
bool VerifyHash(ByteArrayPtr, ByteArrayPtr) overrideChecks data signature.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual ~Object()Destroys object. Frees all internal data structures.

See Also