[Boost-users] SSL handshake: invalid file handle

16 views
Skip to first unread message

Osman Zakir via Boost-users

unread,
Mar 11, 2019, 6:55:42 AM3/11/19
to boost...@lists.boost.org, ch...@kohlhoff.com, Osman Zakir
I have a problem with using SSL to switch from HTTP to HTTPS in a web server app I have.  The code is here:https://github.com/DragonOsman/currency_converter/blob/master/currency_converter.cpp and my server_certificate.hpp file is herehttps://github.com/DragonOsman/currency_converter/blob/master/server_certificate.hpp. The app uses Boost 1.69.0, for Boost.Beast.  I took synchronous HTTP SSL server example code and synchronous HTTP example client code from the Boost.Beast repository on here.  
I got the certificate from Let's Encrypt using the TXT record method, and it's a domain-specific certificate.  I was told by the guys at Let's Encrypt forums that it doesn't require DH parameters, but I'd like to confirm here if it's true or not.  I didn't get DH parameters.  It's a certificate issued via acme.sh.  The domain name is a subdomain I got for free from dynu.com; the .cer files I have are ca.cer, {DOMAIN}.cer, and fullchain.cer.  I was told that I'd need fullchain.cer so I put that in as the value for the `cert` string (it consists of two certificates and I used both).  The private key I have is in a .key file rather than a .pem file and I'm wondering if that's a problem.  I also need to ask what I need to do with the ctx.set_options and ctx.set_password_callback methods.  ​
Could you please help me (if this is good to ask here)?  When I try to visit my app in the browser while my server is running (I'm hosting it on my computer), I get this error in my console window:​
"
handshake: The file handle supplied is not valid​
"

And before, I also got this error:​
"
handshake: An operation was attempted on something that is not a socket​
"

And I also get an error page in my browser saying, "Cannot connect securely to this page".  I'm using the MS Edge browser.

My private key is an RSA key and the filename is {DOMAIN}.key rather than {DOMAIN}.pem.  

I'm sorry for repeating this.  Thanks in advance for any help or replies.
Reply all
Reply to author
Forward
0 new messages