Loading crypto/dh/dh_key.c +15 −2 Original line number Diff line number Diff line Loading @@ -166,9 +166,22 @@ static int generate_key(DH *dh) if (generate_new_key) { l = dh->length ? dh->length : BN_num_bits(dh->p)-1; /* secret exponent length */ if (dh->q) { do { if (!BN_rand_range(priv_key, dh->q)) goto err; } while (BN_is_zero(priv_key) || BN_is_one(priv_key)); } else { /* secret exponent length */ l = dh->length ? dh->length : BN_num_bits(dh->p)-1; if (!BN_rand(priv_key, l, 0, 0)) goto err; } } { BIGNUM local_prk; Loading crypto/dsa/dsa_lib.c +6 −1 Original line number Diff line number Diff line Loading @@ -276,7 +276,8 @@ void *DSA_get_ex_data(DSA *d, int idx) DH *DSA_dup_DH(const DSA *r) { /* DSA has p, q, g, optional pub_key, optional priv_key. * DH has p, optional length, g, optional pub_key, optional priv_key. * DH has p, optional length, g, optional pub_key, optional priv_key, * optional q. */ DH *ret = NULL; Loading @@ -290,7 +291,11 @@ DH *DSA_dup_DH(const DSA *r) if ((ret->p = BN_dup(r->p)) == NULL) goto err; if (r->q != NULL) { ret->length = BN_num_bits(r->q); if ((ret->q = BN_dup(r->q)) == NULL) goto err; } if (r->g != NULL) if ((ret->g = BN_dup(r->g)) == NULL) goto err; Loading Loading
crypto/dh/dh_key.c +15 −2 Original line number Diff line number Diff line Loading @@ -166,9 +166,22 @@ static int generate_key(DH *dh) if (generate_new_key) { l = dh->length ? dh->length : BN_num_bits(dh->p)-1; /* secret exponent length */ if (dh->q) { do { if (!BN_rand_range(priv_key, dh->q)) goto err; } while (BN_is_zero(priv_key) || BN_is_one(priv_key)); } else { /* secret exponent length */ l = dh->length ? dh->length : BN_num_bits(dh->p)-1; if (!BN_rand(priv_key, l, 0, 0)) goto err; } } { BIGNUM local_prk; Loading
crypto/dsa/dsa_lib.c +6 −1 Original line number Diff line number Diff line Loading @@ -276,7 +276,8 @@ void *DSA_get_ex_data(DSA *d, int idx) DH *DSA_dup_DH(const DSA *r) { /* DSA has p, q, g, optional pub_key, optional priv_key. * DH has p, optional length, g, optional pub_key, optional priv_key. * DH has p, optional length, g, optional pub_key, optional priv_key, * optional q. */ DH *ret = NULL; Loading @@ -290,7 +291,11 @@ DH *DSA_dup_DH(const DSA *r) if ((ret->p = BN_dup(r->p)) == NULL) goto err; if (r->q != NULL) { ret->length = BN_num_bits(r->q); if ((ret->q = BN_dup(r->q)) == NULL) goto err; } if (r->g != NULL) if ((ret->g = BN_dup(r->g)) == NULL) goto err; Loading