18#ifndef TRINITYCORE_ED25519_H
19#define TRINITYCORE_ED25519_H
25#include <openssl/evp.h>
42 bool LoadFromFile(std::string
const& fileName);
44 bool LoadFromString(std::string
const& keyPem);
46 bool LoadFromByteArray(std::array<uint8, 32>
const& keyBytes);
48 template <std::
size_t N>
49 bool Sign(std::array<uint8, N>
const& message, std::vector<uint8>& output)
51 return this->Sign(message.data(), message.size(), output);
54 bool Sign(
uint8 const* message, std::size_t messageLength, std::vector<uint8>& output);
56 template <std::
size_t N>
57 bool SignWithContext(std::array<uint8, N>
const& message, std::vector<uint8>
const& context, std::vector<uint8>& output)
59 return this->SignWithContext(message.data(), message.size(), context, output);
62 bool SignWithContext(
uint8 const* message, std::size_t messageLength, std::vector<uint8>
const& context, std::vector<uint8>& output);
65 EVP_PKEY* _key =
nullptr;
bool SignWithContext(std::array< uint8, N > const &message, std::vector< uint8 > const &context, std::vector< uint8 > &output)
bool Sign(std::array< uint8, N > const &message, std::vector< uint8 > &output)