CURLINFO_TLS_SESSION(3) curl_easy_getinfo options CURLINFO_TLS_SESSION(3)NAMECURLINFO_TLS_SESSION - get TLS session info
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SESSION,
struct curl_tlssessioninfo **session);
DESCRIPTION
Pass a pointer to a 'struct curl_tlssessioninfo *'. The pointer will
be initialized to refer to a 'struct curl_tlssessioninfo *' that will
contain an enum indicating the SSL library used for the handshake and
the respective internal TLS session structure of this underlying SSL
library.
This may then be used to extract certificate information in a format
convenient for further processing, such as manual validation. NOTE:
this option may not be available for all SSL backends; unsupported SSL
backends will always return NULL in the internals pointer to indicate
that they are not supported.
struct curl_tlssessioninfo {
curl_sslbackend backend;
void *internals;
};
The backend struct member is one of the defines in the CURLSSLBACKEND_*
series: CURLSSLBACKEND_NONE (when built without TLS support),
CURLSSLBACKEND_OPENSSL, CURLSSLBACKEND_GNUTLS, CURLSSLBACKEND_NSS,
CURLSSLBACKEND_GSKIT, CURLSSLBACKEND_POLARSSL, CURLSSLBACKEND_CYASSL,
CURLSSLBACKEND_SCHANNEL, CURLSSLBACKEND_DARWINSSL or CURLSSLBACKā
END_AXTLS. (Note that the OpenSSL forks are all reported as just
OpenSSL here.)
The internals struct member will point to a TLS library specific
pointer with the following underlying types:
OpenSSL
SSL_CTX *
GnuTLS gnutls_session_t
NSS PRFileDesc *
gskit gsk_handle
PROTOCOLS
All TLS-based
EXAMPLE
TODO
AVAILABILITY
Added in 7.34.0
RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION
if not.
SEE ALSOcurl_easy_getinfo(3), curl_easy_setopt(3),
libcurl 7.44.0 12 Sep 2015 CURLINFO_TLS_SESSION(3)