]> andersk Git - openssh.git/commitdiff
- Explicitly seed OpenSSL's PRNG before checking rsa_alive()
authordamien <damien>
Sun, 5 Mar 2000 05:10:45 +0000 (05:10 +0000)
committerdamien <damien>
Sun, 5 Mar 2000 05:10:45 +0000 (05:10 +0000)
ChangeLog
configure.in
rsa.c

index 2379ec7ad929dd50ba6ebf61e36418750fc0df29..e5511c91aadac13a4c7615ba7b701af1c25f2140 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 20000305
  - Fix DEC compile fix
+ - Explicitly seed OpenSSL's PRNG before checking rsa_alive()
 
 20000303
  - Added "make host-key" target, Suggestion from Dominik Brettnacher
index e5bdc445c605adca6b5482975653421e695768d1..c93811c754eb9edc992360fab3e259ef1ac0fb07 100644 (file)
@@ -160,7 +160,9 @@ for ssldir in "" $tryssldir /usr /usr/local/openssl /usr/lib/openssl /usr/local/
                        #include <openssl/bn.h>
                        #include <openssl/sha.h>
                        int main(void) 
-                       {RSA *key;key=RSA_generate_key(32,3,NULL,NULL);return(key==NULL);}
+                       {RSA *key; char seed[2048];memset(seed, 0, sizeof(seed));
+                       RAND_seed(seed, sizeof(seed));key=RSA_generate_key(32,3,NULL,NULL);
+                       return(key==NULL);}
                ],
                [
                        AC_DEFINE(HAVE_OPENSSL)
@@ -174,7 +176,9 @@ for ssldir in "" $tryssldir /usr /usr/local/openssl /usr/lib/openssl /usr/local/
                        #include <ssl/bn.h>
                        #include <ssl/sha.h>
                        int main(void) 
-                       {RSA *key;key=RSA_generate_key(32,3,NULL,NULL);return(key==NULL);}
+                       {RSA *key; char seed[2048];memset(seed, 0, sizeof(seed));
+                       RAND_seed(seed, sizeof(seed));key=RSA_generate_key(32,3,NULL,NULL);
+                       return(key==NULL);}
                ],
                [
                        AC_DEFINE(HAVE_SSL)
diff --git a/rsa.c b/rsa.c
index 90eced3c4da0268bf92a63ee3e5373b6364c16ee..2456b27e74884753033373fdee1d05b5608356a5 100644 (file)
--- a/rsa.c
+++ b/rsa.c
@@ -49,6 +49,7 @@ rsa_alive()
 {
        RSA *key;
 
+       seed_rng();
        key = RSA_generate_key(32, 3, NULL, NULL);
        if (key == NULL)
                return (0);
@@ -77,7 +78,7 @@ keygen_progress(int p, int n, void *arg)
 void
 seed_rng()
 {
-       char buf[32];
+       char buf[64];
 
        get_random_bytes(buf, sizeof(buf));
        RAND_seed(buf, sizeof(buf));
This page took 0.102233 seconds and 5 git commands to generate.