mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-20 08:02:26 +01:00
46 lines
1.2 KiB
Diff
46 lines
1.2 KiB
Diff
From 3f9c54caeb4b70c4e3a1776951b13daec3accf07 Mon Sep 17 00:00:00 2001
|
|
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
|
|
Date: Mon, 30 Apr 2018 13:19:28 +0300
|
|
Subject: [PATCH 1/5] pkey: getPrivateKey method
|
|
|
|
---
|
|
src/openssl.c | 15 +++++++++++++++
|
|
1 file changed, 15 insertions(+)
|
|
|
|
diff --git a/src/openssl.c b/src/openssl.c
|
|
index 5d757a2..0df6b61 100644
|
|
--- a/src/openssl.c
|
|
+++ b/src/openssl.c
|
|
@@ -4103,6 +4103,20 @@ static int pk_toPEM(lua_State *L) {
|
|
} /* pk_toPEM() */
|
|
|
|
|
|
+static int pk_getPrivateKey(lua_State *L) {
|
|
+ BIO *bio = getbio(L);
|
|
+ char *str;
|
|
+ long len;
|
|
+
|
|
+ if (!PEM_write_bio_PrivateKey(bio, checksimple(L, 1, PKEY_CLASS), 0, 0, 0, 0, 0))
|
|
+ return auxL_error(L, auxL_EOPENSSL, "pkey:getPrivateKey");
|
|
+ len = BIO_get_mem_data(bio, &str);
|
|
+ lua_pushlstring(L, str, len);
|
|
+
|
|
+ return 1;
|
|
+} /* pk_getPrivateKey() */
|
|
+
|
|
+
|
|
static int pk_getDefaultDigestName(lua_State *L) {
|
|
EVP_PKEY *key = checksimple(L, 1, PKEY_CLASS);
|
|
int nid;
|
|
@@ -4680,6 +4694,7 @@ static const auxL_Reg pk_methods[] = {
|
|
{ "toPEM", &pk_toPEM },
|
|
{ "tostring", &pk__tostring },
|
|
{ "verify", &pk_verify },
|
|
+ { "getPrivateKey", &pk_getPrivateKey },
|
|
{ NULL, NULL },
|
|
};
|
|
|
|
--
|
|
2.18.0
|
|
|