summaryrefslogtreecommitdiff
path: root/dh.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2002-03-07 12:58:24 +1100
committerDamien Miller <djm@mindrot.org>2002-03-07 12:58:24 +1100
commit6ba693f70e3f5b69b5b8a9b43bf4323c601cc097 (patch)
tree1e897977528a3d7cfe68b34922e8544b09756681 /dh.c
parent399ec97bc2861148dd38708bf7747d59918fb8b2 (diff)
- OpenBSD CVS Sync
- markus@cvs.openbsd.org 2002/03/06 00:20:54 [compat.c dh.c] compat.c
Diffstat (limited to 'dh.c')
-rw-r--r--dh.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/dh.c b/dh.c
index 3e1594eae..e691125e0 100644
--- a/dh.c
+++ b/dh.c
@@ -23,13 +23,14 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: dh.c,v 1.19 2001/12/27 19:37:22 markus Exp $"); 26RCSID("$OpenBSD: dh.c,v 1.20 2002/03/06 00:20:54 markus Exp $");
27 27
28#include "xmalloc.h" 28#include "xmalloc.h"
29 29
30#include <openssl/bn.h> 30#include <openssl/bn.h>
31#include <openssl/dh.h> 31#include <openssl/dh.h>
32#include <openssl/evp.h> 32#include <openssl/evp.h>
33#include <openssl/err.h>
33 34
34#include "buffer.h" 35#include "buffer.h"
35#include "cipher.h" 36#include "cipher.h"
@@ -207,8 +208,10 @@ dh_gen_key(DH *dh, int need)
207 if ((dh->priv_key = BN_new()) == NULL) 208 if ((dh->priv_key = BN_new()) == NULL)
208 fatal("dh_gen_key: BN_new failed"); 209 fatal("dh_gen_key: BN_new failed");
209 /* generate a 2*need bits random private exponent */ 210 /* generate a 2*need bits random private exponent */
210 if (!BN_rand(dh->priv_key, 2*need, 0, 0)) 211 if (!BN_rand(dh->priv_key, 2*need, 0, 0)) {
211 fatal("dh_gen_key: BN_rand failed"); 212 int ecode = ERR_get_error();
213 fatal("dh_gen_key: BN_rand failed: %s", ERR_error_string(ecode, NULL));
214 }
212 if (DH_generate_key(dh) == 0) 215 if (DH_generate_key(dh) == 0)
213 fatal("DH_generate_key"); 216 fatal("DH_generate_key");
214 for (i = 0; i <= BN_num_bits(dh->priv_key); i++) 217 for (i = 0; i <= BN_num_bits(dh->priv_key); i++)