NAME
SSL_get_version, SSL_is_dtls, SSL_version – get the protocol information of a connection
SYNOPSIS
SSL Library (libssl, -lssl) libcrypto
#include <openssl/ssl.h>
const char *
SSL_get_version(const SSL *ssl);
int
SSL_is_dtls(const SSL *ssl);
int
SSL_version(const SSL *ssl);
DESCRIPTION
SSL_get_version() returns the name of the protocol used for the connection ssl.
SSL_is_dtls() returns 1 if the connection is using DTLS, 0 if not.
SSL_version() returns an integer constant representing that protocol.
These functions only return reliable results after the initial handshake has been completed.
RETURN VALUES
The following strings or integers can be returned by SSL_get_version() and SSL_version():
- "TLSv1" or TLS1_VERSION
-
The connection uses the TLSv1.0 protocol.
- "TLSv1.1" or TLS1_1_VERSION
-
The connection uses the TLSv1.1 protocol.
- "TLSv1.2" or TLS1_2_VERSION
-
The connection uses the TLSv1.2 protocol.
- "TLSv1.3" or TLS1_3_VERSION
-
The connection uses the TLSv1.3 protocol.
- "DTLSv1" or DTLS1_VERSION
-
The connection uses the Datagram Transport Layer Security 1.0 protocol.
- "DTLSv1.2" or DTLS1_2_VERSION
-
The connection uses the Datagram Transport Layer Security 1.2 protocol.
- "unknown"
-
This indicates an unknown protocol version; it cannot currently happen with LibreSSL.
SSL_is_dtls() returns 1 if the connection uses DTLS, 0 if not.
SEE ALSO
HISTORY
SSL_get_version() and SSL_version() first appeared in SSLeay 0.8.0 and have been available since OpenBSD 2.4.
SSL_is_dtls() first appeared in OpenSSL 1.1.0 and has been available since OpenBSD 6.9.