1
0
mirror of https://github.com/apache/httpd.git synced 2025-07-30 20:03:10 +03:00

folding more duplication in ssl_tmp_keys_init

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93886 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Doug MacEachern
2002-03-13 00:50:13 +00:00
parent 63e70cd522
commit e7f00d8c09

View File

@ -141,60 +141,59 @@ static void ssl_tmp_keys_free(server_rec *s)
MODSSL_TMP_KEYS_FREE(mc, DH);
}
static void ssl_tmp_keys_init(server_rec *s, apr_pool_t *p)
static void ssl_tmp_key_init_rsa(server_rec *s,
int bits, int idx)
{
SSLModConfigRec *mc = myModConfig(s);
if (!(mc->pTmpKeys[idx] =
RSA_generate_key(bits, RSA_F4, NULL, NULL)))
{
ssl_log(s, SSL_LOG_ERROR,
"Init: Failed to generate temporary "
"%d bit RSA private key", bits);
ssl_die();
}
}
static void ssl_tmp_key_init_dh(server_rec *s,
int bits, int idx)
{
SSLModConfigRec *mc = myModConfig(s);
if (!(mc->pTmpKeys[idx] =
ssl_dh_GetTmpParam(bits)))
{
ssl_log(s, SSL_LOG_ERROR,
"Init: Failed to generate temporary "
"%d bit DH parameters", bits);
ssl_die();
}
}
#define MODSSL_TMP_KEY_INIT_RSA(s, bits) \
ssl_tmp_key_init_rsa(s, bits, SSL_TMP_KEY_RSA_##bits)
#define MODSSL_TMP_KEY_INIT_DH(s, bits) \
ssl_tmp_key_init_dh(s, bits, SSL_TMP_KEY_DH_##bits)
static void ssl_tmp_keys_init(server_rec *s, apr_pool_t *p)
{
/* seed PRNG */
ssl_rand_seed(s, p, SSL_RSCTX_STARTUP, "Init: ");
/* generate 512 bit RSA key */
ssl_log(s, SSL_LOG_INFO,
"Init: Generating temporary RSA private keys (512/1024 bits)");
/* generate 512 bit RSA key */
if (!(mc->pTmpKeys[SSL_TMP_KEY_RSA_512] =
RSA_generate_key(512, RSA_F4, NULL, NULL)))
{
ssl_log(s, SSL_LOG_ERROR,
"Init: Failed to generate temporary "
"512 bit RSA private key");
ssl_die();
}
/* generate 1024 bit RSA key */
if (!(mc->pTmpKeys[SSL_TMP_KEY_RSA_1024] =
RSA_generate_key(1024, RSA_F4, NULL, NULL)))
{
ssl_log(s, SSL_LOG_ERROR,
"Init: Failed to generate temporary "
"1024 bit RSA private key");
ssl_die();
}
MODSSL_TMP_KEY_INIT_RSA(s, 512);
MODSSL_TMP_KEY_INIT_RSA(s, 1024);
ssl_log(s, SSL_LOG_INFO,
"Init: Configuring temporary "
"DH parameters (512/1024 bits)");
"Init: Configuring temporary DH parameters (512/1024 bits)");
/* generate 512 bit DH param */
if (!(mc->pTmpKeys[SSL_TMP_KEY_DH_512] =
ssl_dh_GetTmpParam(512)))
{
ssl_log(s, SSL_LOG_ERROR,
"Init: Failed to generate temporary "
"512 bit DH parameters");
ssl_die();
}
/* generate 1024 bit DH param */
if (!(mc->pTmpKeys[SSL_TMP_KEY_DH_1024] =
ssl_dh_GetTmpParam(1024)))
{
ssl_log(s, SSL_LOG_ERROR,
"Init: Failed to generate temporary "
"1024 bit DH parameters");
ssl_die();
}
MODSSL_TMP_KEY_INIT_DH(s, 512);
MODSSL_TMP_KEY_INIT_DH(s, 1024);
}
/*