26 #ifndef CRYPTO_ASYM_HPP
27 #define CRYPTO_ASYM_HPP
36 #include "../my_config.h"
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;
107 void release_context() { gpgme_release(context); };
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
void decrypt(generic_file &ciphered, generic_file &clear)
un-cipher data
crypto_asym(const std::shared_ptr< user_interaction > &ui)
general use constructor
crypto_asym & operator=(const crypto_asym &ref)=delete
disabling object assignment
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()
the destructor
const std::list< signator > & verify() const
user_interaction & get_ui() const
exposing to public visibility the protected method of mem_ui
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.
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...
libdar namespace encapsulate all libdar symbols