bool key_store_crypto::add_key(const key & k) { std::lock_guard<std::recursive_mutex> l1(mutex_); if (is_crypted() == false) { return key_store_basic::add_key(k); } if (is_locked()) { return false; } std::vector<std::uint8_t> crypted_secret; auto public_key = k.get_public_key(); bool compressed = false; if ( crypter::encrypt_secret(m_master_key, k.get_secret(compressed), public_key.get_hash(), crypted_secret) == false ) { return false; } if (add_crypted_key(k.get_public_key(), crypted_secret) == false) { return false; } return true; }