24 boost::asio::ssl::context_base::method method =
25 boost::asio::ssl::context::sslv23)
28 boost::system::error_code ec;
30 if (sslVerifyFile.
empty())
34 if (ec && sslVerifyDir.
empty())
35 Throw<std::runtime_error>(boost::str(
36 boost::format(
"Failed to set_default_verify_paths: %s") %
44 if (!sslVerifyDir.
empty())
49 Throw<std::runtime_error>(boost::str(
50 boost::format(
"Failed to add verify path: %s") %
55 boost::asio::ssl::context&
84 boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>::
88 boost::asio::ssl::stream<boost::asio::ip::tcp::socket&>>::
90 boost::system::error_code
93 boost::system::error_code ec;
94 if (!SSL_set_tlsext_host_name(strm.native_handle(), host.
c_str()))
97 static_cast<int>(::ERR_get_error()),
98 boost::asio::error::get_ssl_category());
102 strm.set_verify_mode(boost::asio::ssl::verify_none, ec);
112 boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>::
116 boost::asio::ssl::stream<boost::asio::ip::tcp::socket&>>::
125 boost::system::error_code
128 boost::system::error_code ec;
132 strm.set_verify_mode(boost::asio::ssl::verify_peer, ec);
135 strm.set_verify_callback(
139 std::placeholders::_1,
140 std::placeholders::_2,
162 boost::asio::ssl::verify_context& ctx,
165 if (boost::asio::ssl::host_name_verification(domain)(preverified, ctx))
168 JLOG(j.
warn()) <<
"Outbound SSL connection to " << domain
169 <<
" fails certificate verification";
HTTPClientSSLContext(std::string const &sslVerifyDir, std::string const &sslVerifyFile, bool sslVerify, beast::Journal j, boost::asio::ssl::context_base::method method=boost::asio::ssl::context::sslv23)
boost::system::error_code preConnectVerify(T &strm, std::string const &host)
invoked before connect/async_connect on an ssl stream to setup name verification.
boost::asio::ssl::context ssl_context_
static bool rfc6125_verify(std::string const &domain, bool preverified, boost::asio::ssl::verify_context &ctx, beast::Journal j)
callback invoked for name verification - just passes through to the asio host_name_verification (rfc6...
boost::system::error_code postConnectVerify(T &strm, std::string const &host)
invoked after connect/async_connect but before sending data on an ssl stream - to setup name verifica...
boost::asio::ssl::context & context()