diff options
author | beck <> | 2017-04-05 03:19:22 +0000 |
---|---|---|
committer | beck <> | 2017-04-05 03:19:22 +0000 |
commit | 2ffca9ef617ca25d3718111a126dbb0d580dd018 (patch) | |
tree | 3c6a03473ecfe3397dd6444eb474c3ac576ab36d /src/lib/libtls/tls.c | |
parent | 9b1685fcc9e7e4061dec174430e3e4a4d525dbe4 (diff) | |
download | openbsd-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.c | 5 |
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) |