diff src/login-common/ssl-proxy-openssl.c @ 1492:383d87166963 HEAD

Generate temporary RSA key when requested. Could be slow, should do some caching in master process side..
author Timo Sirainen <tss@iki.fi>
date Tue, 20 May 2003 21:22:04 +0300
parents 63242ba50ea4
children ac6ee442376d
line wrap: on
line diff
--- a/src/login-common/ssl-proxy-openssl.c	Tue May 20 21:05:32 2003 +0300
+++ b/src/login-common/ssl-proxy-openssl.c	Tue May 20 21:22:04 2003 +0300
@@ -392,6 +392,12 @@
 	}
 }
 
+static RSA *ssl_gen_rsa_key(SSL *ssl __attr_unused__,
+			    int is_export __attr_unused__, int keylength)
+{
+	return RSA_generate_key(keylength, RSA_F4, NULL, NULL);
+}
+
 void ssl_proxy_init(void)
 {
 	const char *certfile, *keyfile, *paramfile;
@@ -424,6 +430,9 @@
 			keyfile, ssl_last_error());
 	}
 
+	if (SSL_CTX_need_tmp_RSA(ssl_ctx))
+		SSL_CTX_set_tmp_rsa_callback(ssl_ctx, ssl_gen_rsa_key);
+
         ssl_proxies = hash_create(default_pool, default_pool, 0, NULL, NULL);
 	ssl_initialized = TRUE;
 }