我正在通过Boost.ASIO实现客户端SSL连接。根据我正在使用的参考书,我需要调用SSL_get_verify_result
以确保服务器证书的一切正常。不幸的是,它需要指向SSL
结构的指针,我不知道如何从ASIO中获取它。
我尝试在我的impl()
对象上使用boost::asio::ssl::stream<boost::asio::ip::tcp::socket>
函数,但编译器抱怨它返回了其他内容。
必须 才能获得该信息。有谁知道吗?
答案 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 *,但你不应该依赖它。