OpenBSD manual page server

Manual Page Search Parameters

SSL_GET_VERSION(3) Library Functions Manual SSL_GET_VERSION(3)

SSL_get_version, SSL_is_dtls, SSL_versionget the protocol information of a connection

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

() returns the name of the protocol used for the connection ssl.

() returns 1 if the connection is using DTLS, 0 if not.

() returns an integer constant representing that protocol.

These functions only return reliable results after the initial handshake has been completed.

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.

ssl(3)

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.

April 15, 2021 OpenBSD-current