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()