Skip to content

Commit

Permalink
#46= lock/unlock implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
sinev-valentine committed Nov 19, 2018
2 parents 970055d + d41374a commit a16b02c
Show file tree
Hide file tree
Showing 15 changed files with 284 additions and 146 deletions.
9 changes: 2 additions & 7 deletions keychain_cmd_app/sec_mod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,18 @@ sec_mod_dummy::sec_mod_dummy()
sec_mod_dummy::~sec_mod_dummy()
{}

std::string sec_mod_dummy::get_uid() const
{
return std::string("uid");
}

void sec_mod_dummy::print_mnemonic(const string_list& mnemonic) const
{
}

byte_seq_t sec_mod_dummy::get_passwd_trx_raw(const std::string& raw_trx) const
byte_seq_t sec_mod_dummy::get_passwd_trx_raw(const std::string& raw_trx, std::string binary_dir) const
{
std::string str = "blank";
keychain_app::byte_seq_t pass(str.begin(), str.end());
return pass;
}

byte_seq_t sec_mod_dummy::get_passwd_on_create() const
byte_seq_t sec_mod_dummy::get_passwd_on_create( std::string binary_dir) const
{
std::string str = "blank";
keychain_app::byte_seq_t pass(str.begin(), str.end());
Expand Down
5 changes: 2 additions & 3 deletions keychain_cmd_app/sec_mod.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ class sec_mod_dummy: public secure_dlg_mod_base
public:
sec_mod_dummy();
virtual ~sec_mod_dummy();
virtual keychain_app::byte_seq_t get_passwd_trx_raw(const std::string& raw_trx) const override;
virtual keychain_app::byte_seq_t get_passwd_on_create() const override;
virtual keychain_app::byte_seq_t get_passwd_trx_raw(const std::string& raw_trx, std::string binary_dir) const override;
virtual keychain_app::byte_seq_t get_passwd_on_create(std::string binary_dir) const override;
virtual void print_mnemonic(const string_list& mnemonic) const override;
virtual std::string get_uid() const override;
private:
static constexpr const char* pass_str = "blank_password";
};
Expand Down
3 changes: 1 addition & 2 deletions keychain_lib/include/keychain_lib/key_file_parser.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ struct keyfile_t
{
file_type filetype;
std::string keyname;
std::string uid_hash;
struct keyinfo_t
{
enum key_format
Expand Down Expand Up @@ -72,7 +71,7 @@ FC_LIGHT_REFLECT_ENUM(keychain_app::keyfile_format::keyfile_t::keyinfo_t::key_fo
FC_LIGHT_REFLECT_ENUM(keychain_app::keyfile_format::keyfile_t::keyinfo_t::curve_etype, (unknown)(secp256k1))
FC_LIGHT_REFLECT(keychain_app::keyfile_format::encrypted_data, (cipher_type)(iv)(enc_data))
FC_LIGHT_REFLECT(keychain_app::keyfile_format::keyfile_t::keyinfo_t, (format)(encrypted)(curve_type)(priv_key_data)(public_key))
FC_LIGHT_REFLECT(keychain_app::keyfile_format::keyfile_t, (filetype)(keyname)(uid_hash)(keyinfo))
FC_LIGHT_REFLECT(keychain_app::keyfile_format::keyfile_t, (filetype)(keyname)(keyinfo))


#endif //KEYCHAINAPP_KEY_FILE_PARSER_HPP
Expand Down
24 changes: 23 additions & 1 deletion keychain_lib/include/keychain_lib/keychain.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,41 @@

#include "keychain_commands.hpp"

#ifdef __linux__
#define KEY_DEFAULT_PATH "/var/keychain/key_data"
#else
#error "Need to define path to KEYCHAIN_DATA"
#endif


namespace keychain_app
{

namespace bfs = boost::filesystem;


class secure_dlg_mod_base
{
public:
using string_list = std::list<std::wstring>;

virtual ~secure_dlg_mod_base(){}
virtual byte_seq_t get_passwd_trx_raw(const std::string& raw_trx, std::string binary_dir) const = 0;
// virtual std::wstring get_passwd_trx(const graphene::chain::transaction& trx) const = 0;
virtual byte_seq_t get_passwd_on_create(std::string binary_dir) const = 0;
virtual void print_mnemonic(const string_list& mnemonic) const = 0;
};


class keychain : public keychain_base
{
public:
keychain(std::string&& uid_hash, const char* default_key_dir = KEY_DEFAULT_PATH);
static keychain& instance(const secure_dlg_mod_base* );
virtual ~keychain();
virtual std::string operator()(const fc_light::variant& command) override;
private:
bfs::path m_init_path;
keychain(const secure_dlg_mod_base* , const char* default_key_dir = KEY_DEFAULT_PATH);
};

struct keychain_commands_singletone
Expand Down

0 comments on commit a16b02c

Please sign in to comment.