您需要将 TLS 加密添加到服务器。在研究了 OpenSSL 文档之后,我发现了像SSL_connect
、SSL_do_handshake
和类似的方便包装器这样的函数,它们不仅可以处理加密/解密,还可以处理网络功能。
我不知道这些功能是如何安排在后台的,我想自己控制网络部分,让库只对数据缓冲区和证书文件进行加密工作。
对响应握手请求、验证证书、对从套接字读取(或写入套接字)的数据应用约定的加密算法的机制感兴趣
请告诉我 OpenSSL 库的哪些对象和函数适用于此,以及如何在这种情况下使用它们?
这是一个读取/写入套接字本身的 C++ 应用程序示例,SSL 引擎与网络 I/O 分开工作。
有很多技术细节,所以这里我只对地方的代码进行评论。