libressl-SSL_get_version(3)

libressl-SSL_get_version3

Get the protocol information of a connection

Usage

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);

Overview

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.

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.

From libressl 4.4.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.