mirror of
https://github.com/boostorg/beast.git
synced 2025-08-03 14:54:32 +02:00
committed by
Mohammad Nejati
parent
4e384f086b
commit
ea38d841b0
@@ -77,7 +77,19 @@ public:
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(! SSL_set_tlsext_host_name(stream_.native_handle(), host))
|
||||
{
|
||||
beast::error_code ec{static_cast<int>(::ERR_get_error()), net::error::get_ssl_category()};
|
||||
beast::error_code ec{
|
||||
static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category()};
|
||||
std::cerr << ec.message() << "\n";
|
||||
return;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
@@ -69,7 +69,19 @@ public:
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(! SSL_set_tlsext_host_name(stream_.native_handle(), host))
|
||||
{
|
||||
beast::error_code ec{static_cast<int>(::ERR_get_error()), net::error::get_ssl_category()};
|
||||
beast::error_code ec{
|
||||
static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category()};
|
||||
std::cerr << ec.message() << "\n";
|
||||
return;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
@@ -51,9 +51,17 @@ do_session(
|
||||
auto stream = ssl::stream<beast::tcp_stream>{ executor, ctx };
|
||||
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(!SSL_set_tlsext_host_name(stream.native_handle(), host.c_str()))
|
||||
if(! SSL_set_tlsext_host_name(stream.native_handle(), host.c_str()))
|
||||
{
|
||||
throw boost::system::system_error(
|
||||
throw beast::system_error(
|
||||
static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category());
|
||||
}
|
||||
|
||||
// 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());
|
||||
}
|
||||
|
@@ -65,6 +65,14 @@ do_session(
|
||||
return;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
// Look up the domain name
|
||||
auto const results = resolver.async_resolve(host, port, yield[ec]);
|
||||
if(ec)
|
||||
|
@@ -69,8 +69,17 @@ int main(int argc, char** argv)
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(! SSL_set_tlsext_host_name(stream.native_handle(), host))
|
||||
{
|
||||
beast::error_code ec{static_cast<int>(::ERR_get_error()), net::error::get_ssl_category()};
|
||||
throw beast::system_error{ec};
|
||||
throw beast::system_error(
|
||||
static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category());
|
||||
}
|
||||
|
||||
// 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());
|
||||
}
|
||||
|
||||
// Look up the domain name
|
||||
|
@@ -116,13 +116,17 @@ public:
|
||||
beast::get_lowest_layer(ws_).expires_after(std::chrono::seconds(30));
|
||||
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(! SSL_set_tlsext_host_name(
|
||||
ws_.next_layer().native_handle(),
|
||||
host_.c_str()))
|
||||
if(! SSL_set_tlsext_host_name(ws_.next_layer().native_handle(), host_.c_str()))
|
||||
{
|
||||
ec = beast::error_code(static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category());
|
||||
return fail(ec, "connect");
|
||||
ec.assign(static_cast<int>(::ERR_get_error()), net::error::get_ssl_category());
|
||||
return fail(ec, "connect");
|
||||
}
|
||||
|
||||
// Set the expected hostname in the peer certificate for verification
|
||||
if(! SSL_set1_host(ws_.next_layer().native_handle(), host_.c_str()))
|
||||
{
|
||||
ec.assign(static_cast<int>(::ERR_get_error()), net::error::get_ssl_category());
|
||||
return fail(ec, "connect");
|
||||
}
|
||||
|
||||
// Update the host_ string. This will provide the value of the
|
||||
@@ -252,6 +256,9 @@ int main(int argc, char** argv)
|
||||
// The SSL context is required, and holds certificates
|
||||
ssl::context ctx{ssl::context::tlsv12_client};
|
||||
|
||||
// Verify the remote server's certificate
|
||||
ctx.set_verify_mode(ssl::verify_peer);
|
||||
|
||||
// This holds the root certificate used for verification
|
||||
load_root_certificates(ctx);
|
||||
|
||||
|
@@ -108,12 +108,16 @@ public:
|
||||
beast::get_lowest_layer(ws_).expires_after(std::chrono::seconds(30));
|
||||
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(! SSL_set_tlsext_host_name(
|
||||
ws_.next_layer().native_handle(),
|
||||
host_.c_str()))
|
||||
if(! SSL_set_tlsext_host_name(ws_.next_layer().native_handle(), host_.c_str()))
|
||||
{
|
||||
ec = beast::error_code(static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category());
|
||||
ec.assign(static_cast<int>(::ERR_get_error()), net::error::get_ssl_category());
|
||||
return fail(ec, "connect");
|
||||
}
|
||||
|
||||
// Set the expected hostname in the peer certificate for verification
|
||||
if(! SSL_set1_host(ws_.next_layer().native_handle(), host_.c_str()))
|
||||
{
|
||||
ec.assign(static_cast<int>(::ERR_get_error()), net::error::get_ssl_category());
|
||||
return fail(ec, "connect");
|
||||
}
|
||||
|
||||
@@ -246,6 +250,9 @@ int main(int argc, char** argv)
|
||||
// The SSL context is required, and holds certificates
|
||||
ssl::context ctx{ssl::context::tlsv12_client};
|
||||
|
||||
// Verify the remote server's certificate
|
||||
ctx.set_verify_mode(ssl::verify_peer);
|
||||
|
||||
// This holds the root certificate used for verification
|
||||
load_root_certificates(ctx);
|
||||
|
||||
|
@@ -71,12 +71,16 @@ do_session(
|
||||
return fail(ec, "connect");
|
||||
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(! SSL_set_tlsext_host_name(
|
||||
ws.next_layer().native_handle(),
|
||||
host.c_str()))
|
||||
if(! SSL_set_tlsext_host_name(ws.next_layer().native_handle(), host.c_str()))
|
||||
{
|
||||
ec = beast::error_code(static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category());
|
||||
ec.assign(static_cast<int>(::ERR_get_error()), net::error::get_ssl_category());
|
||||
return fail(ec, "connect");
|
||||
}
|
||||
|
||||
// Set the expected hostname in the peer certificate for verification
|
||||
if(! SSL_set1_host(ws.next_layer().native_handle(), host.c_str()))
|
||||
{
|
||||
ec.assign(static_cast<int>(::ERR_get_error()), net::error::get_ssl_category());
|
||||
return fail(ec, "connect");
|
||||
}
|
||||
|
||||
@@ -163,6 +167,9 @@ int main(int argc, char** argv)
|
||||
// The SSL context is required, and holds certificates
|
||||
ssl::context ctx{ssl::context::tlsv12_client};
|
||||
|
||||
// Verify the remote server's certificate
|
||||
ctx.set_verify_mode(ssl::verify_peer);
|
||||
|
||||
// This holds the root certificate used for verification
|
||||
load_root_certificates(ctx);
|
||||
|
||||
|
@@ -56,6 +56,9 @@ int main(int argc, char** argv)
|
||||
// The SSL context is required, and holds certificates
|
||||
ssl::context ctx{ssl::context::tlsv12_client};
|
||||
|
||||
// Verify the remote server's certificate
|
||||
ctx.set_verify_mode(ssl::verify_peer);
|
||||
|
||||
// This holds the root certificate used for verification
|
||||
load_root_certificates(ctx);
|
||||
|
||||
@@ -71,11 +74,19 @@ int main(int argc, char** argv)
|
||||
|
||||
// Set SNI Hostname (many hosts need this to handshake successfully)
|
||||
if(! SSL_set_tlsext_host_name(ws.next_layer().native_handle(), host.c_str()))
|
||||
{
|
||||
throw beast::system_error(
|
||||
beast::error_code(
|
||||
static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category()),
|
||||
"Failed to set SNI Hostname");
|
||||
static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category());
|
||||
}
|
||||
|
||||
// Set the expected hostname in the peer certificate for verification
|
||||
if(! SSL_set1_host(ws.next_layer().native_handle(), host.c_str()))
|
||||
{
|
||||
throw beast::system_error(
|
||||
static_cast<int>(::ERR_get_error()),
|
||||
net::error::get_ssl_category());
|
||||
}
|
||||
|
||||
// Update the host_ string. This will provide the value of the
|
||||
// Host HTTP header during the WebSocket handshake.
|
||||
|
Reference in New Issue
Block a user