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
 
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.
 
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