summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Raad <Marcel.Raad@teamviewer.com>2021-10-10 11:51:37 +0200
committerMarcel Raad <Marcel.Raad@teamviewer.com>2021-11-20 12:04:56 +0100
commit1e80f56d0bf9e19213816d99a23b521e7b53cd5f (patch)
treee621767e6743e7c951867855aaf98ac712de0b62
parent0164bb8507dc38578a2553102dcc6a2e9b4cefc0 (diff)
downloadcurl-1e80f56d0bf9e19213816d99a23b521e7b53cd5f.tar.gz
openssl: remove usage of deprecated `SSL_get_peer_certificate`
The function name was changed to `SSL_get1_peer_certificate` in OpenSSL 3.0. Closes https://github.com/curl/curl/pull/7893
-rw-r--r--lib/vtls/openssl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index a1baef9c3..947c14f5c 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -171,6 +171,10 @@
#define OPENSSL_load_builtin_modules(x)
#endif
+#if (OPENSSL_VERSION_NUMBER < 0x30000000L)
+#define SSL_get1_peer_certificate SSL_get_peer_certificate
+#endif
+
/*
* Whether SSL_CTX_set_keylog_callback is available.
* OpenSSL: supported since 1.1.1 https://github.com/openssl/openssl/pull/2287
@@ -1937,7 +1941,7 @@ static CURLcode verifystatus(struct Curl_easy *data,
}
/* Compute the certificate's ID */
- cert = SSL_get_peer_certificate(backend->handle);
+ cert = SSL_get1_peer_certificate(backend->handle);
if(!cert) {
failf(data, "Error getting peer certificate");
result = CURLE_SSL_INVALIDCERTSTATUS;
@@ -3840,7 +3844,7 @@ static CURLcode servercert(struct Curl_easy *data,
/* we've been asked to gather certificate info! */
(void)get_cert_chain(data, connssl);
- backend->server_cert = SSL_get_peer_certificate(backend->handle);
+ backend->server_cert = SSL_get1_peer_certificate(backend->handle);
if(!backend->server_cert) {
BIO_free(mem);
if(!strict)