mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
g10: Export cleartext keys as cleartext
* g10/export.c (do_export_stream): If a key is stored by the agent in cleartext, then try to export it as cleartext. * tests/openpgp/export.test: For secret keys that are stored in cleartext, test should try to export without pinentry interaction. -- This restores the behavior of GnuPG 2.0 and 1.4 when exporting passphraseless secret keys, and fixes the test suite accordingly. GnuPG-bug-id: 2070, 2324 Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
This commit is contained in:
parent
a3cb72af79
commit
c41c46fa84
2 changed files with 7 additions and 26 deletions
|
@ -1141,6 +1141,7 @@ do_export_stream (ctrl_t ctrl, iobuf_t out, strlist_t users, int secret,
|
|||
gcry_cipher_hd_t cipherhd = NULL;
|
||||
char *cache_nonce = NULL;
|
||||
struct export_stats_s dummystats;
|
||||
int cleartext = 0;
|
||||
|
||||
if (!stats)
|
||||
stats = &dummystats;
|
||||
|
@ -1445,7 +1446,7 @@ do_export_stream (ctrl_t ctrl, iobuf_t out, strlist_t users, int secret,
|
|||
serialno = NULL;
|
||||
}
|
||||
else
|
||||
err = agent_get_keyinfo (ctrl, hexgrip, &serialno, NULL);
|
||||
err = agent_get_keyinfo (ctrl, hexgrip, &serialno, &cleartext);
|
||||
|
||||
if ((!err && serialno)
|
||||
&& secret == 2 && node->pkt->pkttype == PKT_PUBLIC_KEY)
|
||||
|
@ -1494,7 +1495,7 @@ do_export_stream (ctrl_t ctrl, iobuf_t out, strlist_t users, int secret,
|
|||
else if (!err)
|
||||
{
|
||||
err = receive_seckey_from_agent (ctrl, cipherhd,
|
||||
0, &cache_nonce,
|
||||
cleartext, &cache_nonce,
|
||||
hexgrip, pk);
|
||||
if (err)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue