Home | Libraries | People | FAQ | More |
Verifies a certificate against a hostname according to the rules described in RFC 2818.
class rfc2818_verification
Name |
Description |
---|---|
The type of the function object's result. |
Name |
Description |
---|---|
Perform certificate verification. |
|
Constructor. |
The following example shows how to synchronously open a secure connection to a given host name:
using boost::asio::ip::tcp; namespace ssl = boost::asio::ssl; typedef ssl::stream<tcp::socket> ssl_socket; // Create a context that uses the default paths for finding CA certificates. ssl::context ctx(ssl::context::sslv23); ctx.set_default_verify_paths(); // Open a socket and connect it to the remote host. boost::asio::io_context io_context; ssl_socket sock(io_context, ctx); tcp::resolver resolver(io_context); tcp::resolver::query query("host.name", "https"); boost::asio::connect(sock.lowest_layer(), resolver.resolve(query)); sock.lowest_layer().set_option(tcp::no_delay(true)); // Perform SSL handshake and verify the remote host's certificate. sock.set_verify_mode(ssl::verify_peer); sock.set_verify_callback(ssl::rfc2818_verification("host.name")); sock.handshake(ssl_socket::client); // ... read and write as normal ...
Header: boost/asio/ssl/rfc2818_verification.hpp
Convenience header: boost/asio/ssl.hpp