1#ifndef LIBFILEZILLA_SIGNATURE_HEADER
2#define LIBFILEZILLA_SIGNATURE_HEADER
28 explicit operator bool()
const {
29 return key_.size() == key_size;
33 return key_ ==
rhs.key_;
37 return !(*
this ==
rhs);
41 return key_ <
rhs.key_;
44 std::string to_base64()
const;
47 std::vector<uint8_t> key_;
64 explicit operator bool()
const {
65 return key_.size() == key_size;
71 std::vector<uint8_t>
const& data()
const {
75 std::string to_base64()
const;
79 std::vector<uint8_t> key_;
Represents a private key to sign message with using Ed25519.
Definition signature.hpp:55
static private_signing_key generate()
Generates a random private key.
public_verification_key pubkey() const
Gets the public key corresponding to the private key.
Represents a public key to verify messages signed using Ed25519.
Definition signature.hpp:22
Sets some global macros and further includes string.hpp.
The namespace used by libfilezilla.
Definition apply.hpp:17
bool verify(std::vector< uint8_t > const &message, public_verification_key const &pub)
Verify a message with attached signature. Returns true iff it has been signed by the private key corr...
std::vector< uint8_t > sign(std::vector< uint8_t > const &message, private_signing_key const &priv, bool include_message=true)
Returns the message with the signature appended, created using the passed private key.
bool dispatch(event_base const &ev, F &&f)
Dispatch for simple_event<> based events to simple functors.
Definition event_handler.hpp:199
bool operator==(symmetric_key const &lhs, symmetric_key const &rhs)
Side-channel safe comparison.