如何从Boost.ASIO获得SSL *?

时间:2010-12-07 09:30:12

标签: c++ boost ssl openssl boost-asio

我正在通过Boost.ASIO实现客户端SSL连接。根据我正在使用的参考书,我需要调用SSL_get_verify_result以确保服务器证书的一切正常。不幸的是,它需要指向SSL结构的指针,我不知道如何从ASIO中获取它。

我尝试在我的impl()对象上使用boost::asio::ssl::stream<boost::asio::ip::tcp::socket>函数,但编译器抱怨它返回了其他内容。

必须 才能获得该信息。有谁知道吗?

2 个答案:

答案 0 :(得分:3)

问题解决了。它说impl()返回的结构是boost::asio::ssl::detail::openssl_stream_service::impl_struct*。我没想到它会被记录下来,但我终于绝望地搜索它并发现其他情况。更好的是,它包含指向我需要的SSL结构的指针,以及OpenSSL BIO结构和某种缓冲区。

答案 1 :(得分:0)

ASIO有一个本机方法:在ssl上下文中调用set_verify_mode

impl()方法返回一个SSL_CTX *,但你不应该依赖它。