一个模仿socket.h (c++)的OpenSSL包装器

An OpenSSL wrapper that mimics socket.h (C++)

本文关键字:c++ OpenSSL 包装 一个 socket      更新时间:2023-10-16

我正在处理这个大型自定义网络应用程序。它是用c++ (linux)编写的,使用sockets.h—代码涉及传递文件(套接字)描述符,使用结构体,设置套接字选项等。

而不是重写这一切,我想知道是否有任何可用的使用相同的函数原型socket.h,但使用openSSL来保护通信通道。

显然,仍然需要设置诸如密钥、验证位置等,但最好避免将所有内容更改为BIOs或其他…

谢谢! !

SSL_set_fd和SSL_get_fd允许您设置/检索文件描述符并避免BIOs。您仍然需要使用SSL_read/SSL_write而不是read/write,等等。

实现socket .h接口需要一种从fd到SSL对象的简便方法,这是非常重要的。OpenSSL中没有这样的包装器,我非常怀疑是否存在第三方包装器。