我正在处理这个大型自定义网络应用程序。它是用 C++ (linux) 编写的,使用 sockets.h --- 代码涉及传递文件(套接字)描述符、使用结构、设置套接字选项等。
与其全部重写,不如想知道是否有任何可用的功能原型(prototype)与 socket.h 相同,但使用 openSSL 来保护通信 channel 。
显然,仍然需要设置诸如 key 、验证位置等内容,但最好避免将所有内容更改为 BIO 或其他...
谢谢!!
最佳答案
SSL_set_fd和 SSL_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/