You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

31 lines
887 B

--- a/src/csr.c
+++ b/src/csr.c
@@ -38,7 +38,7 @@ static LUA_FUNCTION(openssl_csr_read)
return openssl_pushresult(L, 0);
}
-
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
static X509 *X509_REQ_to_X509_ex(X509_REQ *r, int days, EVP_PKEY *pkey, const EVP_MD* md)
{
X509 *ret = NULL;
@@ -91,14 +91,19 @@ static X509 *X509_REQ_to_X509_ex(X509_RE
}
return (ret);
}
+#endif
static LUA_FUNCTION(openssl_csr_to_x509)
{
X509_REQ * csr = CHECK_OBJECT(1, X509_REQ, "openssl.x509_req");
EVP_PKEY * pkey = CHECK_OBJECT(2, EVP_PKEY, "openssl.evp_pkey");
int days = luaL_optint(L, 3, 365);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
const EVP_MD* md = get_digest(L, 4, "sha256");
X509* cert = X509_REQ_to_X509_ex(csr, days, pkey, md);
+#else
+ X509* cert = X509_REQ_to_X509(csr, days, pkey);
+#endif
if (cert)
{
PUSH_OBJECT(cert, "openssl.x509");