mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Support key flags for RENC, TIME, and GROUP.
* g10/packet.h (PUBKEY_USAGE_RENC): New. (PUBKEY_USAGE_TIME): New. (PUBKEY_USAGE_GROUP): New. * g10/getkey.c (parse_key_usage): Set the new key flags. * g10/keyedit.c (show_key_with_all_names_colon): Show the new key flags. * g10/keyid.c (usagestr_from_pk): Ditto * g10/keylist.c (print_capabilities): Ditto. * g10/keygen.c (parse_usagestr): Parse line and set new flags. (quickgen_set_para): Show flags. -- See draft-koch-openpgp-2015-rfc4880bis-00 for the current version. Actually these flags have been in the draft for years now. This patch is a first step to make use of them.
This commit is contained in:
parent
dc9227ca57
commit
0988e49c45
7 changed files with 70 additions and 3 deletions
18
g10/getkey.c
18
g10/getkey.c
|
@ -2457,11 +2457,29 @@ parse_key_usage (PKT_signature * sig)
|
|||
flags &= ~0x20;
|
||||
}
|
||||
|
||||
if ((flags & 0x80))
|
||||
{
|
||||
key_usage |= PUBKEY_USAGE_GROUP;
|
||||
flags &= ~0x80;
|
||||
}
|
||||
|
||||
if (flags)
|
||||
key_usage |= PUBKEY_USAGE_UNKNOWN;
|
||||
|
||||
n--;
|
||||
p++;
|
||||
if (n)
|
||||
{
|
||||
flags = *p;
|
||||
if ((flags & 0x04))
|
||||
key_usage |= PUBKEY_USAGE_RENC;
|
||||
if ((flags & 0x08))
|
||||
key_usage |= PUBKEY_USAGE_TIME;
|
||||
}
|
||||
|
||||
if (!key_usage)
|
||||
key_usage |= PUBKEY_USAGE_NONE;
|
||||
|
||||
}
|
||||
else if (p) /* Key flags of length zero. */
|
||||
key_usage |= PUBKEY_USAGE_NONE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue