summaryrefslogtreecommitdiff
path: root/src/lib/libtls/tls.c
diff options
context:
space:
mode:
authorbeck <>2017-04-05 03:19:22 +0000
committerbeck <>2017-04-05 03:19:22 +0000
commit2ffca9ef617ca25d3718111a126dbb0d580dd018 (patch)
tree3c6a03473ecfe3397dd6444eb474c3ac576ab36d /src/lib/libtls/tls.c
parent9b1685fcc9e7e4061dec174430e3e4a4d525dbe4 (diff)
downloadopenbsd-2ffca9ef617ca25d3718111a126dbb0d580dd018.tar.gz
openbsd-2ffca9ef617ca25d3718111a126dbb0d580dd018.tar.bz2
openbsd-2ffca9ef617ca25d3718111a126dbb0d580dd018.zip
Add tls_peer_cert_chain_pem - To retreive the peer certificate and chain
as PEM format. This allows for it to be used or examined with tools external to libtls bump minor ok jsing@
Diffstat (limited to 'src/lib/libtls/tls.c')
-rw-r--r--src/lib/libtls/tls.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libtls/tls.c b/src/lib/libtls/tls.c
index 419554818c..446f93430d 100644
--- a/src/lib/libtls/tls.c
+++ b/src/lib/libtls/tls.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls.c,v 1.60 2017/04/05 03:13:53 beck Exp $ */ 1/* $OpenBSD: tls.c,v 1.61 2017/04/05 03:19:22 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -528,6 +528,8 @@ tls_reset(struct tls *ctx)
528 ctx->ssl_conn = NULL; 528 ctx->ssl_conn = NULL;
529 ctx->ssl_ctx = NULL; 529 ctx->ssl_ctx = NULL;
530 ctx->ssl_peer_cert = NULL; 530 ctx->ssl_peer_cert = NULL;
531 /* X509 objects in chain are freed with the SSL */
532 ctx->ssl_peer_chain = NULL;
531 533
532 ctx->socket = -1; 534 ctx->socket = -1;
533 ctx->state = 0; 535 ctx->state = 0;
@@ -625,6 +627,7 @@ tls_handshake(struct tls *ctx)
625 627
626 if (rv == 0) { 628 if (rv == 0) {
627 ctx->ssl_peer_cert = SSL_get_peer_certificate(ctx->ssl_conn); 629 ctx->ssl_peer_cert = SSL_get_peer_certificate(ctx->ssl_conn);
630 ctx->ssl_peer_chain = SSL_get_peer_cert_chain(ctx->ssl_conn);
628 if (tls_conninfo_populate(ctx) == -1) 631 if (tls_conninfo_populate(ctx) == -1)
629 rv = -1; 632 rv = -1;
630 if (ctx->ocsp == NULL) 633 if (ctx->ocsp == NULL)