提升ASIO库 - SSL - 无共享密码

时间:2012-09-25 08:21:58

标签: c++ windows ssl boost-asio

我在使用asio库时遇到问题。

这就是我设置服务器部分的方式。

serverServicePtr->network_context->set_options(boost::asio::ssl::context::default_workarounds| boost::asio::ssl::context::no_sslv2 );
serverServicePtr->network_context->set_password_callback(boost::bind(&ServerService::GetPassword));
serverServicePtr->network_context->use_private_key_file("privkey.pem", boost::asio::ssl::context::pem);
...
clientSocket->handshake( boost::asio::ssl::stream_base::server );

客户端部分:

boost::asio::ssl::context ctx(boost::asio::ssl::context::sslv23);
ctx.load_verify_file("pubkey.pem");

ctx.set_verify_mode(boost::asio::ssl::verify_peer);
ctx.set_verify_callback(boost::bind(&verify_certificate, _1, _2));  

boost::asio::ssl::stream<boost::asio::ip::tcp::socket> s(io_service, ctx);
boost::asio::connect(s.lowest_layer(), iterator);
s.lowest_layer().set_option(boost::asio::ip::tcp::no_delay(true));  
s.handshake(boost::asio::ssl::stream_base::client);

它在握手时失败。服务器说“握手:没有共享密码”,客户端只是说。该服务器拒绝客户端。

我的问题是,问题出在哪里?我错过了什么?也许,我生成的钥匙错了?如何为asio生成它们?

0 个答案:

没有答案