Replace SSL_set1_host with asio::ssl::host_name_verification

`SSL_set1_host` fails when host is an IP address
This commit is contained in:
Mohammad Nejati authored and Mohammad Nejati committed 2025-02-13 20:09:44 +03:30
1 parent ea38d841b0
commit ee2b5b2ff9
9 files changed
+34 -74

No files matched your search

@@ -85,14 +85,7 @@ public:
}
// Set the expected hostname in the peer certificate for verification
if(! SSL_set1_host(stream_.native_handle(), host))
{
beast::error_code ec{
static_cast<int>(::ERR_get_error()),
net::error::get_ssl_category()};
std::cerr << ec.message() << "\n";
return;
}
stream_.set_verify_callback(ssl::host_name_verification(host));
// Set up an HTTP GET request message
req_.version(version);
@@ -77,14 +77,7 @@ public:
}
// Set the expected hostname in the peer certificate for verification
if(! SSL_set1_host(stream_.native_handle(), host))
{
beast::error_code ec{
static_cast<int>(::ERR_get_error()),
net::error::get_ssl_category()};
std::cerr << ec.message() << "\n";
return;
}
stream_.set_verify_callback(ssl::host_name_verification(host));
// Set up an HTTP GET request message
req_.version(version);
@@ -59,12 +59,7 @@ do_session(
}
// Set the expected hostname in the peer certificate for verification
if(! SSL_set1_host(stream.native_handle(), host.c_str()))
{
throw beast::system_error(
static_cast<int>(::ERR_get_error()),
net::error::get_ssl_category());
}
stream.set_verify_callback(ssl::host_name_verification(host));
// Look up the domain name
auto const results = co_await resolver.async_resolve(host, port);
@@ -66,12 +66,7 @@ do_session(
}
// Set the expected hostname in the peer certificate for verification
if(! SSL_set1_host(stream.native_handle(), host.c_str()))
{
ec.assign(static_cast<int>(::ERR_get_error()), net::error::get_ssl_category());
std::cerr << ec.message() << "\n";
return;
}
stream.set_verify_callback(ssl::host_name_verification(host));
// Look up the domain name
auto const results = resolver.async_resolve(host, port, yield[ec]);
@@ -75,12 +75,7 @@ int main(int argc, char** argv)
}
// Set the expected hostname in the peer certificate for verification
if(! SSL_set1_host(stream.native_handle(), host))
{
throw beast::system_error(
static_cast<int>(::ERR_get_error()),
net::error::get_ssl_category());
}
stream.set_verify_callback(ssl::host_name_verification(host));
// Look up the domain name
auto const results = resolver.resolve(host, port);