allow optional q in DH DomainParameters

This commit is contained in:
Love Hornquist Astrand
2013-04-29 11:37:39 -07:00
parent 617f4b7bd5
commit e8317b955f
3 changed files with 8 additions and 3 deletions

View File

@@ -361,7 +361,7 @@ get_dh_param(krb5_context context,
}
ret = _krb5_dh_group_ok(context, config->pkinit_dh_min_bits,
&dhparam.p, &dhparam.g, &dhparam.q, moduli,
&dhparam.p, &dhparam.g, dhparam.q, moduli,
&client_params->dh_group_name);
if (ret) {
/* XXX send back proposal of better group */

View File

@@ -239,7 +239,7 @@ ValidationParms ::= SEQUENCE {
DomainParameters ::= SEQUENCE {
p INTEGER, -- odd prime, p=jq +1
g INTEGER, -- generator, g
q INTEGER, -- factor of p-1
q INTEGER OPTIONAL, -- factor of p-1
j INTEGER OPTIONAL, -- subgroup factor
validationParms ValidationParms OPTIONAL -- ValidationParms
}

View File

@@ -492,7 +492,12 @@ build_auth_pack(krb5_context context,
free_DomainParameters(&dp);
return ret;
}
ret = BN_to_integer(context, dh->q, &dp.q);
dp.q = calloc(1, sizeof(*dp.q));
if (dp.q == NULL) {
free_DomainParameters(&dp);
return ENOMEM;
}
ret = BN_to_integer(context, dh->q, dp.q);
if (ret) {
free_DomainParameters(&dp);
return ret;