diff options
author | Werner Koch <wk@gnupg.org> | 2019-03-05 12:39:11 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2019-03-05 12:39:11 +0100 |
commit | db87132b10664718b7db6ec1dad584b54d1fb265 (patch) | |
tree | fb5bbbb504522e55472ee5cbe4120986e5258506 /g10/keylist.c | |
parent | agent: Minor change to the KEYTOCARD command. (diff) | |
download | gnupg2-db87132b10664718b7db6ec1dad584b54d1fb265.tar.xz gnupg2-db87132b10664718b7db6ec1dad584b54d1fb265.zip |
gpg: Make invalid primary key algos obvious in key listings.
* g10/keylist.c (print_key_line): Print a warning for invalid algos.
--
Non-OpenPGP compliant keys now show a warning flag on the sec or pub
line like in:
gpg: can't encode a 256 bit MD into a 88 bits frame, algo=8
sec cv25519 2019-01-30 [INVALID_ALGO]
4239F3D606A19258E7A88C3F9A3F4F909C5034C5
uid [ultimate] ffffff
Instead of showing the usage flags "[CE]". Without this patch only
the error message is printed and the reason for it was not immediately
obvious (cv25519 is encryption only but we always consider the primary
key as having the "C" flag).
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to '')
-rw-r--r-- | g10/keylist.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/g10/keylist.c b/g10/keylist.c index fffd95c31..8d5b2e0b9 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -2102,10 +2102,18 @@ print_key_line (ctrl_t ctrl, estream_t fp, PKT_public_key *pk, int secret) tty_fprintf (fp, "/%s", keystr_from_pk (pk)); tty_fprintf (fp, " %s", datestr_from_pk (pk)); - if ((opt.list_options & LIST_SHOW_USAGE)) + if (pk->flags.primary + && !(openpgp_pk_algo_usage (pk->pubkey_algo) + & (PUBKEY_USAGE_CERT| PUBKEY_USAGE_SIG|PUBKEY_USAGE_AUTH))) + { + /* A primary key which is really not capable to sign. */ + tty_fprintf (fp, " [INVALID_ALGO]"); + } + else if ((opt.list_options & LIST_SHOW_USAGE)) { tty_fprintf (fp, " [%s]", usagestr_from_pk (pk, 0)); } + if (pk->flags.revoked) { tty_fprintf (fp, " ["); |