26#ifndef CRYPTO_ASYM_HPP
27#define CRYPTO_ASYM_HPP
55 crypto_asym(
const std::shared_ptr<user_interaction> & ui) :
mem_ui(ui) { build_context(); has_signatories =
false; };
93 const std::list<signator> &
verify()
const {
return signing_result; };
102 bool has_signatories;
103 std::list<signator> signing_result;
108 void build_key_list(
const std::vector<std::string> & recipients_email,
109 gpgme_key_t * & ciphering_keys,
112 void release_key_list(gpgme_key_t * & ciphering_keys);
113 void fill_signing_result();
115 void release_context() {};
118 void build_context();
void set_signatories(const std::vector< std::string > &signatories)
defines the list of email or keyid which associated key will be used for signing
crypto_asym(const crypto_asym &ref)=delete
disabling copy constructor
crypto_asym(crypto_asym &&ref)=delete
disabling move constuctor
user_interaction & get_ui() const
exposing to public visibility the protected method of mem_ui
const std::list< signator > & verify() const
void decrypt(generic_file &ciphered, generic_file &clear)
un-cipher data
crypto_asym(const std::shared_ptr< user_interaction > &ui)
general use constructor
void encrypt(const std::vector< std::string > &recipients_email, generic_file &clear, generic_file &ciphered)
encrypt (and sign if signatures have been given using set_signatories) data for the given recipients
crypto_asym & operator=(const crypto_asym &ref)=delete
disabling object assignment
~crypto_asym()
the destructor
this is the interface class from which all other data transfer classes inherit
class mem_ui to keep a copy of a user_interaction object
user_interaction & get_ui() const
get access to the user_interaction object
This is a pure virtual class that is used by libdar when interaction with the user is required.
include macro defined by the configure script and some specific additional ones
libdar namespace encapsulate all libdar symbols
the crypto algoritm definition
class generic_file is defined here as well as class fichier
class mem_ui definition. This class is to be used as parent class to handle user_interaction object m...