summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2018-02-17 15:13:12 +0000
committerjsing <>2018-02-17 15:13:12 +0000
commitfa2d9de703f0090c30f45cb99f79591dad4ed787 (patch)
treeeda693ffe3991c5c053781dc473b018f9fcdaacb
parentca5a90bc040c87944d3af58d51c80de05b02c60b (diff)
downloadopenbsd-fa2d9de703f0090c30f45cb99f79591dad4ed787.tar.gz
openbsd-fa2d9de703f0090c30f45cb99f79591dad4ed787.tar.bz2
openbsd-fa2d9de703f0090c30f45cb99f79591dad4ed787.zip
Provide SSL_CTX_get0_certificate()
-rw-r--r--src/lib/libssl/Symbols.list1
-rw-r--r--src/lib/libssl/ssl.h3
-rw-r--r--src/lib/libssl/ssl_lib.c11
3 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/libssl/Symbols.list b/src/lib/libssl/Symbols.list
index e2862d6243..f24c7fc9b6 100644
--- a/src/lib/libssl/Symbols.list
+++ b/src/lib/libssl/Symbols.list
@@ -56,6 +56,7 @@ SSL_CTX_check_private_key
56SSL_CTX_ctrl 56SSL_CTX_ctrl
57SSL_CTX_flush_sessions 57SSL_CTX_flush_sessions
58SSL_CTX_free 58SSL_CTX_free
59SSL_CTX_get0_certificate
59SSL_CTX_get0_param 60SSL_CTX_get0_param
60SSL_CTX_get_cert_store 61SSL_CTX_get_cert_store
61SSL_CTX_get_client_CA_list 62SSL_CTX_get_client_CA_list
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h
index bc0f5316a4..0784ce1ef7 100644
--- a/src/lib/libssl/ssl.h
+++ b/src/lib/libssl/ssl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl.h,v 1.137 2018/02/17 15:08:21 jsing Exp $ */ 1/* $OpenBSD: ssl.h,v 1.138 2018/02/17 15:13:12 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1215,6 +1215,7 @@ long SSL_CTX_set_timeout(SSL_CTX *ctx, long t);
1215long SSL_CTX_get_timeout(const SSL_CTX *ctx); 1215long SSL_CTX_get_timeout(const SSL_CTX *ctx);
1216X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); 1216X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *);
1217void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); 1217void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *);
1218X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);
1218int SSL_want(const SSL *s); 1219int SSL_want(const SSL *s);
1219int SSL_clear(SSL *s); 1220int SSL_clear(SSL *s);
1220 1221
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index 16f2b54637..79021d7e0b 100644
--- a/src/lib/libssl/ssl_lib.c
+++ b/src/lib/libssl/ssl_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_lib.c,v 1.174 2018/02/14 17:08:44 jsing Exp $ */ 1/* $OpenBSD: ssl_lib.c,v 1.175 2018/02/17 15:13:12 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -2877,6 +2877,15 @@ SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *store)
2877 ctx->cert_store = store; 2877 ctx->cert_store = store;
2878} 2878}
2879 2879
2880X509 *
2881SSL_CTX_get0_certificate(const SSL_CTX *ctx)
2882{
2883 if (ctx->internal->cert == NULL)
2884 return NULL;
2885
2886 return ctx->internal->cert->key->x509;
2887}
2888
2880int 2889int
2881SSL_want(const SSL *s) 2890SSL_want(const SSL *s)
2882{ 2891{