c++ - 模仿 socket.h (C++) 的 OpenSSL 包装器

标签 c++ c sockets ssl openssl

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

与其全部重写,不如想知道是否有任何可用的功能原型(prototype)与 socket.h 相同,但使用 openSSL 来保护通信 channel 。

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

谢谢!!

最佳答案

SSL_set_fdSSL_get_fd让您设置/检索文件描述符并避免 BIO。您仍然需要使用 SSL_read/SSL_write 而不是读/写等。

要实现 sockets.h 接口(interface),需要一种从 fd 轻松转到 SSL 对象的方法,这很重要。 OpenSSL 没有这样的包装器,我非常怀疑是否存在第三方包装器。

关于c++ - 模仿 socket.h (C++) 的 OpenSSL 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7878327/

相关文章:

c++ - 调用映射键来调用需要参数的函数 - 如何开始工作

C 字符串裁剪运行时错误

python - 通过POST请求发送数据

条件比较

Java 套接字 : can I write a TCP server with one thread?

python - SocketServer ThreadingTCPServer & Asyncore Dispatcher

c++ - GNU ld 找不到存在的库

c++ - 库类是如何实例化的

c++ - for 循环计数器给出未使用变量警告

c - 如果 switch 语句正在执行 C 中的所有其他情况,如何停止它?