I have a web server I made myself using example code from Boost.Beast which itself relies on Boost.ASIO. I’m using Boost version 1.69.0 (the version of Beast that comes with this version of Boost is older than the one on the master branch of the Boost.Beast GitHub repository, by the way). My application’s source code is here. The server_certificate.hpp file on the GitHub repository is here.
I host the app on my own computer, so I got a free subdomain name from dynu.com (dragonosman.dynu.net). And because I’m using a server I made, hosted on my own computer, I can’t use automated certificate renewal methods that depend on commercial servers like Ngnix or Apache. I’ll have to use a different method to automate renewal if one exists for my case.
I got a certificate for the domain from Let’s Encrypt using the TXT record method. I’m using Windows 10 and the client I used to get the certificates was acme.sh. On the Command Prompt. As you guys can see in the example server_certificate.hpp file on the Beast repository, there’s a DH parameter field in the SSL context that Boost.ASIO uses. Is there no way for me to get DH parameters for this certificate? I currently don’t have them.
I have ca.cer, dragonosman.dynu.net.cer, fullchain.cer and dragonosman.dynu.net.key files. I used fullchain.cer for the certificate.
I need help on getting it to work because right now whenever I visit the app in my browser (MS Edge in this case) I get an error page saying, “Can’t connect securely to this page”. And in my app’s console window (it being a C++ console application), I get an error saying, “handshake: The file handle supplied is not valid”. It’s generated by a function that uses a boost::system::error_code object to hold the error returned by the operation used (in this case the SSL handshake).