mirror of
https://github.com/apache/httpd.git
synced 2025-08-06 11:06:17 +00:00
add modssl_dh_configure() function to fold some duplication in
get_dh{512,1024} and provide toolkit compat for sslc 2.x git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94225 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@ -566,3 +566,31 @@ int modssl_session_get_time(SSL_SESSION *session)
|
||||
return CRYPTO_time_to_int(&ct);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef SSLC_VERSION_NUMBER
|
||||
#define SSLC_VERSION_NUMBER 0x0000
|
||||
#endif
|
||||
|
||||
DH *modssl_dh_configure(unsigned char *p, int plen,
|
||||
unsigned char *g, int glen)
|
||||
{
|
||||
DH *dh;
|
||||
|
||||
if (!(dh = DH_new())) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(OPENSSL_VERSION_NUMBER) || (SSLC_VERSION_NUMBER < 0x2000)
|
||||
dh->p = BN_bin2bn(p, plen, NULL);
|
||||
dh->g = BN_bin2bn(g, glen, NULL);
|
||||
if (!(dh->p && dh->g)) {
|
||||
DH_free(dh);
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
R_EITEMS_add(dh->data, PK_TYPE_DH, PK_DH_P, 0, p, plen, R_EITEMS_PF_COPY);
|
||||
R_EITEMS_add(dh->data, PK_TYPE_DH, PK_DH_G, 0, g, glen, R_EITEMS_PF_COPY);
|
||||
#endif
|
||||
|
||||
return dh;
|
||||
}
|
||||
|
Reference in New Issue
Block a user