diff options
author | eidheim <eidheim@gmail.com> | 2014-11-01 20:21:32 +0300 |
---|---|---|
committer | eidheim <eidheim@gmail.com> | 2014-11-01 20:21:32 +0300 |
commit | 6da00d29f64d134b55c5db2fcf3211d5424e6f99 (patch) | |
tree | 21e2c7fc8f3cb229afdad6a442e62d75be898c46 /client_wss.hpp | |
parent | fa095ad2bcc2a6f89cad574f388b8e5a87151dca (diff) |
Added option for verify_file in SocketServer-constructor, and certification/key file and verify_file for SocketClient-constructor (Warning: not tested). Also moved set_timeout_on_socket to the SocketServerBase.v1.1.1
Diffstat (limited to 'client_wss.hpp')
-rw-r--r-- | client_wss.hpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/client_wss.hpp b/client_wss.hpp index 12e06e6..bd816f6 100644 --- a/client_wss.hpp +++ b/client_wss.hpp @@ -10,22 +10,24 @@ namespace SimpleWeb { template<> class SocketClient<WSS> : public SocketClientBase<WSS> { public: - SocketClient(const std::string& server_port_path, bool verify_certificate=true, const std::string& verify_file="", - const std::string& cert_file="", const std::string& private_key_file="") : + SocketClient(const std::string& server_port_path, bool verify_certificate=true, + const std::string& cert_file=std::string(), const std::string& private_key_file=std::string(), + const std::string& verify_file=std::string()) : SocketClientBase<WSS>::SocketClientBase(server_port_path, 443), asio_context(boost::asio::ssl::context::sslv23) { if(verify_certificate) asio_context.set_verify_mode(boost::asio::ssl::verify_peer); else asio_context.set_verify_mode(boost::asio::ssl::verify_none); - - if(verify_file!="") - asio_context.load_verify_file(verify_file); - if(cert_file!="" && private_key_file!="") { + if(cert_file.size()>0 && private_key_file.size()>0) { asio_context.use_certificate_chain_file(cert_file); asio_context.use_private_key_file(private_key_file, boost::asio::ssl::context::pem); } + + if(verify_file.size()>0) + asio_context.load_verify_file(verify_file); + }; private: |