# # # patch "cmd_list.cc" # from [81e8598541d0ab0f6fc77b3da679bff1eaa72ae7] # to [914a3df8afe910a4c6bbcf97b8fea7bb3e7c0a22] # # patch "key_store.cc" # from [6afe96d2e8aa2c32c8693fac35f25ddf610090a0] # to [63bc362c154f9927410c87a2c1312cfe2c4520ca] # ============================================================ --- cmd_list.cc 81e8598541d0ab0f6fc77b3da679bff1eaa72ae7 +++ cmd_list.cc 914a3df8afe910a4c6bbcf97b8fea7bb3e7c0a22 @@ -64,6 +64,7 @@ CMD(certs, "certs", "", CMD_REF(list), " database db(app); project_t project(db); + key_store keys(app); vector certs; transaction_guard guard(db, false); @@ -92,7 +93,7 @@ CMD(certs, "certs", "", CMD_REF(list), " // particular. sort(certs.begin(), certs.end()); - string str = _("Key : %s\n" + string str = _("Key : %s (%s)\n" "Sig : %s\n" "Name : %s\n" "Value : %s\n"); @@ -139,9 +140,13 @@ CMD(certs, "certs", "", CMD_REF(list), " split_into_lines(washed, lines); std::string value_first_line = lines.empty() ? "" : idx(lines, 0); + key_id keyid = idx(certs, i).key; + key_name keyname; + project.get_name_of_key(keys, keyid, keyname); + cout << string(guess_terminal_width(), '-') << '\n' << (i18n_format(str) - % idx(certs, i).key + % keyid % keyname % stat % idx(certs, i).name % value_first_line); ============================================================ --- key_store.cc 6afe96d2e8aa2c32c8693fac35f25ddf610090a0 +++ key_store.cc 63bc362c154f9927410c87a2c1312cfe2c4520ca @@ -633,6 +633,7 @@ key_store::change_key_passphrase(key_nam keypair kp; { bool found = false; + s->maybe_read_key_dir(); for (key_map::const_iterator i = s->keys.begin(); i != s->keys.end(); ++i) { @@ -645,6 +646,8 @@ key_store::change_key_passphrase(key_nam kp = i->second.second; } } + E(found, origin::user, F("no key pair '%s' found in key store '%s'") + % name % s->key_dir); } shared_ptr priv = s->decrypt_private_key(id, true);