version 1.44, 2006/11/07 13:02:07 |
version 1.45, 2007/09/27 00:15:57 |
|
|
BIGNUM *tmp; |
BIGNUM *tmp; |
|
|
if (dh_pub->neg) { |
if (dh_pub->neg) { |
logit("invalid public DH value: negativ"); |
logit("invalid public DH value: negative"); |
return 0; |
return 0; |
} |
} |
if (BN_cmp(dh_pub, BN_value_one()) != 1) { /* pub_exp <= 1 */ |
if (BN_cmp(dh_pub, BN_value_one()) != 1) { /* pub_exp <= 1 */ |
|
|
return 0; |
return 0; |
} |
} |
|
|
if ((tmp = BN_new()) == NULL) |
if ((tmp = BN_new()) == NULL) { |
return (-1); |
error("%s: BN_new failed", __func__); |
|
return 0; |
|
} |
if (!BN_sub(tmp, dh->p, BN_value_one()) || |
if (!BN_sub(tmp, dh->p, BN_value_one()) || |
BN_cmp(dh_pub, tmp) != -1) { /* pub_exp > p-2 */ |
BN_cmp(dh_pub, tmp) != -1) { /* pub_exp > p-2 */ |
BN_clear_free(tmp); |
BN_clear_free(tmp); |