aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keygen.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keygen.c')
-rw-r--r--g10/keygen.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/g10/keygen.c b/g10/keygen.c
index e1fc8d6d0..63c65111c 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -3778,6 +3778,12 @@ parse_usagestr (const char *usagestr)
use |= PUBKEY_USAGE_AUTH;
else if (!ascii_strcasecmp (s, "cert"))
use |= PUBKEY_USAGE_CERT;
+ else if (!ascii_strcasecmp (s, "renc"))
+ use |= PUBKEY_USAGE_RENC;
+ else if (!ascii_strcasecmp (s, "time"))
+ use |= PUBKEY_USAGE_TIME;
+ else if (!ascii_strcasecmp (s, "group"))
+ use |= PUBKEY_USAGE_GROUP;
else
{
xfree (tokens);
@@ -4322,14 +4328,17 @@ quickgen_set_para (struct para_data_s *para, int for_subkey,
{
struct para_data_s *r;
- r = xmalloc_clear (sizeof *r + 30);
+ r = xmalloc_clear (sizeof *r + 50);
r->key = for_subkey? pSUBKEYUSAGE : pKEYUSAGE;
if (use)
- snprintf (r->u.value, 30, "%s%s%s%s",
+ snprintf (r->u.value, 30, "%s%s%s%s%s%s%s",
(use & PUBKEY_USAGE_ENC)? "encr " : "",
(use & PUBKEY_USAGE_SIG)? "sign " : "",
(use & PUBKEY_USAGE_AUTH)? "auth " : "",
- (use & PUBKEY_USAGE_CERT)? "cert " : "");
+ (use & PUBKEY_USAGE_CERT)? "cert " : "",
+ (use & PUBKEY_USAGE_RENC)? "renc " : "",
+ (use & PUBKEY_USAGE_TIME)? "time " : "",
+ (use & PUBKEY_USAGE_GROUP)?"group ": "");
else
strcpy (r->u.value, for_subkey ? "encr" : "sign");
r->next = para;