Jak povolit TLS SNI pomocí boost::beast

Nejprve include required header:

enable_tls_sni_boostbeast.cpp
#include <openssl/ssl.h>

Jakmile jste initialized boost::beast::ssl_stream, přidejte následující kód (s host being std::string obsahující hostname pro connect jako api.ipify.org):

tls_sni_set_hostname.cpp
if(!SSL_set_tlsext_host_name(stream.native_handle(), host.c_str())) {
    beast::error_code ec{static_cast<int>(::ERR_get_error()), net::error::get_ssl_category()};
    throw beast::system_error{ec};
}

Originální zdroj: boost::beast official HTTPS client example


Podívejte se na podobné články podle kategorie: Boost C/C++