aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2021-04-21 19:00:28 +0000
committerWerner Koch <[email protected]>2021-04-21 19:00:28 +0000
commit8f2c9cb73538baab7da8107f2cceb2f6fc49642a (patch)
tree91ff21f1c2664a7ec82d56b8e09b77d3db4fd814
parentgpg: Allow fingerprint based lookup with --locate-external-key. (diff)
downloadgnupg-8f2c9cb73538baab7da8107f2cceb2f6fc49642a.tar.gz
gnupg-8f2c9cb73538baab7da8107f2cceb2f6fc49642a.zip
agent: Silence error messages for READKEY --card
* agent/command.c (cmd_readkey): Test for shadow key before creating it.
-rw-r--r--agent/command.c10
-rw-r--r--agent/keyformat.txt5
2 files changed, 9 insertions, 6 deletions
diff --git a/agent/command.c b/agent/command.c
index 095f38ba3..88580a754 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -1125,9 +1125,13 @@ cmd_readkey (assuan_context_t ctx, char *line)
goto leave;
}
- rc = agent_write_shadow_key (grip, serialno, keyid, pkbuf, 0);
- if (rc)
- goto leave;
+ if (agent_key_available (grip))
+ {
+ /* (Shadow)-key is not available in our key storage. */
+ rc = agent_write_shadow_key (grip, serialno, keyid, pkbuf, 0);
+ if (rc)
+ goto leave;
+ }
rc = assuan_send_data (ctx, pkbuf, pkbuflen);
}
diff --git a/agent/keyformat.txt b/agent/keyformat.txt
index 3467f3bc5..511eb1047 100644
--- a/agent/keyformat.txt
+++ b/agent/keyformat.txt
@@ -47,9 +47,8 @@ convention. Example (here indented with two spaces):
(#D2760001240102000005000011730000# OPENPGP.1)
)))
-GnuPG 2.2 is able to read and update keys using the new format, but
-will not create new files using the new format. Furthermore, it only
-makes use of the value stored under the name 'Key:'.
+GnuPG 2.2 is also able to read and write keys using the new format
+However, it only makes use of the value stored under the name 'Key:'.
Keys in the extended format can be recognized by looking at the first
byte of the file. If it starts with a '(' it is a naked S-expression,