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

时间:2011-10-24 15:50:29

标签: c++ c sockets ssl openssl

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

不是重写所有内容,而是想知道是否有任何可用的东西使用与socket.h相同的函数原型,但使用openSSL来保护通信通道。

显然,仍然需要设置密钥,验证位置等内容,但是避免将所有内容更改为BIO或其他任何内容都会很棒......

谢谢!

1 个答案:

答案 0 :(得分:1)

SSL_set_fdSSL_get_fd允许您设置/检索文件描述符并避免BIO。您仍然需要使用SSL_read / SSL_write而不是读/写,依此类推。

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