diff options
Diffstat (limited to 'g10/keygen.c')
-rw-r--r-- | g10/keygen.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/g10/keygen.c b/g10/keygen.c index c9122f79e..e271ad267 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -1980,6 +1980,7 @@ ask_key_flags_with_mask (int algo, int subkey, unsigned int current, * below for a workaround. */ possible = (openpgp_pk_algo_usage (algo) & mask); possible &= ~PUBKEY_USAGE_RENC; + possible &= ~PUBKEY_USAGE_GROUP; /* However, only primary keys may certify. */ if (subkey) @@ -4210,7 +4211,8 @@ proc_parameter_file (ctrl_t ctrl, struct para_data_s *para, const char *fname, else { r = get_parameter (para, pKEYUSAGE); - if (r && (r->u.usage & ~openpgp_pk_algo_usage (algo))) + if (r && (r->u.usage + & ~(openpgp_pk_algo_usage (algo) | PUBKEY_USAGE_GROUP))) { log_error ("%s:%d: specified Key-Usage not allowed for algo %d\n", fname, r->lnr, algo); @@ -4246,7 +4248,8 @@ proc_parameter_file (ctrl_t ctrl, struct para_data_s *para, const char *fname, else { r = get_parameter (para, pSUBKEYUSAGE); - if (r && (r->u.usage & ~openpgp_pk_algo_usage (algo))) + if (r && (r->u.usage + & ~(openpgp_pk_algo_usage (algo)|PUBKEY_USAGE_GROUP))) { log_error ("%s:%d: specified Subkey-Usage not allowed" " for algo %d\n", fname, r->lnr, algo); |