Problème :
En exécutant votre application boost::beast, vous voyez l’exception suivante :
handshake_error_output.txt
terminate called after throwing an instance of 'boost::wrapexcept<boost::system::system_error>'
what(): handshake: no protocols available (SSL routines) [asio.ssl:167772351]Solution
Vous vous connectez en utilisant une version SSL ou TLS que le serveur ne supporte pas.
La version TLS/SSL est sélectionnée lors de l’initialisation du boost::asio::ssl::context :
ssl_context_example.cpp
namespace ssl = boost::asio::ssl;
ssl::context ctx(ssl::context::tlsv11_client);Dans ce cas, nous utilisons le protocole TLSv1.1 obsolète.
Changez la ligne en
ssl_context_tlsv13.cpp
ssl::context ctx(ssl::context::tlsv13_client);pour utiliser TLSv1.3 à la place. Gardez à l’esprit que certaines anciennes versions TLS/SSL sont considérées comme non sécurisées.
Si cet article vous a aidé, pensez à m'offrir un café ou à faire un don via PayPal pour soutenir la recherche et la publication de nouveaux articles sur TechOverflow