Boost.Asio provides classes for some basic SSL support. Behind the scenes, it uses OpenSSL. So, if you want to use SSL, first download OpenSSL from www.openssl.org and build it. You should note that, usually, building OpenSSL is no easy task, especially if you don't have a popular compiler, such as Visual Studio.
Assuming you have OpenSSL built successfully, Boost.Asio has some wrapper classes around it:
ssl::stream: It guides you to what to use instead of the
ssl::context: This is the context for initial handshake
ssl::rfc2818_verification: This class is the easy way to verify a certificate against a hostname according to the rules from RFC 2818
First, you create and initialize the SSL context, then open a socket using ...