title: Using Boost-Beast (Asio) http client with SSL (HTTPS)
body: <p>I am new to SSL and the Boost-Beast library, and also C++, but that's a different story. 
  I have a question regarding using HTTPS (SSL) with Beast. I am going to use the library to connect to a REST service and post JSON to a server where I do not control the certificates, the API etc. </p>
  
  <p>And it kind of works. 
  The thing is that I do not clearly understand HOW it works. In the example that comes with Beast it is referenced to a file <code>example/common/root_certificates.hpp</code> where it is two certificates in base64 format or something like that.</p>
  
  <p>When I tried the example, I got it to work with POST a JSON string to a server, let's call it "exampleserver.com". Connected to both port 80 and 443. Even though I commented out the line where it calls the root certificate function, <code>load_root_certificates(ctx);</code>. No errors from handshaking or anything else showed up. And the server responded correctly.</p>
  
  <p>So, my questions are then:</p>
  
  <p>1) Did the Beast library get the certificate from <code>exampleserver.com</code> or did I already have it installed and that's why it worked? If so what happens when it expires? Do I have to reinstall a new one on every client that uses my application? 
  I would prefer to not have any hardcoded certificates in my code to check it upon. The certificate says <code>DigiCert Global Root CA -&gt; DigiCert SHA2 Secure Server CA</code> is that a standard certificate maybe that comes with the browser?</p>
  
  <p>2) Did it just use plain HTTP over port 443 (no SSL)? Don know if this is possible at all...</p>