From a357ad8885ef643d07e2a6e6f4ccdf007d2d32b8 Mon Sep 17 00:00:00 2001 From: tb <> Date: Fri, 10 Sep 2021 08:59:56 +0000 Subject: Prepare to provide SSL_CTX_get0_privatekey() ok beck --- src/lib/libssl/ssl.h | 5 ++++- src/lib/libssl/ssl_lib.c | 11 ++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h index 49335fc55a..7da3658d3f 100644 --- a/src/lib/libssl/ssl.h +++ b/src/lib/libssl/ssl.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl.h,v 1.200 2021/09/08 17:27:33 tb Exp $ */ +/* $OpenBSD: ssl.h,v 1.201 2021/09/10 08:59:56 tb Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -1240,6 +1240,9 @@ long SSL_CTX_get_timeout(const SSL_CTX *ctx); X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +#if defined(LIBRESSL_INTERNAL) +EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); +#endif int SSL_want(const SSL *s); int SSL_clear(SSL *s); diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 430e9bdc12..0f86238d5e 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_lib.c,v 1.267 2021/09/08 17:27:33 tb Exp $ */ +/* $OpenBSD: ssl_lib.c,v 1.268 2021/09/10 08:59:56 tb Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -3058,6 +3058,15 @@ SSL_CTX_get0_certificate(const SSL_CTX *ctx) return ctx->internal->cert->key->x509; } +EVP_PKEY * +SSL_CTX_get0_privatekey(const SSL_CTX *ctx) +{ + if (ctx->internal->cert == NULL) + return NULL; + + return ctx->internal->cert->key->privatekey; +} + int SSL_want(const SSL *s) { -- cgit v1.2.3-55-g6feb