diff options
author | Werner Koch <[email protected]> | 2024-06-05 08:00:05 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2024-06-05 09:20:14 +0000 |
commit | 1d91252205a21fc1a42e7a55a49421e50bb70f05 (patch) | |
tree | 80eebc14444dfdf55b156e9352151998b80fcd92 | |
parent | gpgsm: Avoid double free when checking rsaPSS signatures. (diff) | |
download | gnupg-1d91252205a21fc1a42e7a55a49421e50bb70f05.tar.gz gnupg-1d91252205a21fc1a42e7a55a49421e50bb70f05.zip |
gpg: Do not show RENC if no key capabilities are found for a key.
* g10/packet.h (PUBKEY_USAGE_BASIC_MASK): New.
* g10/getkey.c (merge_selfsigs_subkey): Mask the default.
(merge_selfsigs_main): Ditto.
--
-rw-r--r-- | g10/getkey.c | 6 | ||||
-rw-r--r-- | g10/packet.h | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/g10/getkey.c b/g10/getkey.c index 20b717b50..41e39a0d9 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -3137,7 +3137,8 @@ merge_selfsigs_main (ctrl_t ctrl, kbnode_t keyblock, int *r_revoked, if (!key_usage) { /* No key flags at all: get it from the algo. */ - key_usage = openpgp_pk_algo_usage (pk->pubkey_algo); + key_usage = (openpgp_pk_algo_usage (pk->pubkey_algo) + & PUBKEY_USAGE_BASIC_MASK); } else { @@ -3411,7 +3412,8 @@ merge_selfsigs_subkey (ctrl_t ctrl, kbnode_t keyblock, kbnode_t subnode) if (!key_usage) { /* No key flags at all: get it from the algo. */ - key_usage = openpgp_pk_algo_usage (subpk->pubkey_algo); + key_usage = (openpgp_pk_algo_usage (subpk->pubkey_algo) + & PUBKEY_USAGE_BASIC_MASK); } else { diff --git a/g10/packet.h b/g10/packet.h index 409d7d419..b0a51d1b5 100644 --- a/g10/packet.h +++ b/g10/packet.h @@ -60,6 +60,11 @@ #define PUBKEY_USAGE_RENC 1024 /* Restricted encryption. */ #define PUBKEY_USAGE_TIME 2048 /* Timestamp use. */ +/* The usage bits which can be derived from the algo. */ +#define PUBKEY_USAGE_BASIC_MASK (PUBKEY_USAGE_SIG|PUBKEY_USAGE_ENC\ + |PUBKEY_USAGE_CERT|PUBKEY_USAGE_AUTH) + + /* Helper macros. */ #define is_RSA(a) ((a)==PUBKEY_ALGO_RSA || (a)==PUBKEY_ALGO_RSA_E \ || (a)==PUBKEY_ALGO_RSA_S ) |