aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/getkey.c')
-rw-r--r--g10/getkey.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index 4a8438168..07bdfcbd7 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1331,16 +1331,24 @@ parse_key_usage(PKT_signature *sig)
/* first octet of the keyflags */
flags=*p;
- if(flags & 3)
+ if(flags & 1)
+ {
+ key_usage |= PUBKEY_USAGE_CERT;
+ flags&=~1;
+ }
+
+ if(flags & 2)
{
key_usage |= PUBKEY_USAGE_SIG;
- flags&=~3;
+ flags&=~2;
}
- if(flags & 12)
+ /* We do not distinguish between encrypting communications and
+ encrypting storage. */
+ if(flags & (0x04|0x08))
{
key_usage |= PUBKEY_USAGE_ENC;
- flags&=~12;
+ flags&=~(0x04|0x08);
}
if(flags & 0x20)