1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

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.
This commit is contained in:
Werner Koch 2024-06-05 10:00:05 +02:00
parent 9d618d1273
commit 8cbcac89fe
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
2 changed files with 8 additions and 2 deletions

View File

@ -3114,7 +3114,8 @@ merge_selfsigs_main (ctrl_t ctrl, kbnode_t keyblock, int *r_revoked,
if (!key_usage) if (!key_usage)
{ {
/* No key flags at all: get it from the algo. */ /* 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 else
{ {
@ -3388,7 +3389,8 @@ merge_selfsigs_subkey (ctrl_t ctrl, kbnode_t keyblock, kbnode_t subnode)
if (!key_usage) if (!key_usage)
{ {
/* No key flags at all: get it from the algo. */ /* 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 else
{ {

View File

@ -60,6 +60,10 @@
#define PUBKEY_USAGE_RENC 1024 /* Restricted encryption. */ #define PUBKEY_USAGE_RENC 1024 /* Restricted encryption. */
#define PUBKEY_USAGE_TIME 2048 /* Timestamp use. */ #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)
/* Bitflags to convey hints on what kind of signature is created. */ /* Bitflags to convey hints on what kind of signature is created. */
#define SIGNHINT_KEYSIG 1 #define SIGNHINT_KEYSIG 1
#define SIGNHINT_SELFSIG 2 #define SIGNHINT_SELFSIG 2