如何在SSL连接的服务器端接收数据?

时间:2015-09-26 21:41:18

标签: ssl openssl server client

我正在尝试学习如何编写客户端/服务器应用程序,以使用SSL将文件传输到服务器或从服务器传输文件。我主要在C ++中使用cURL和/或OpenSSL想出了客户端,但我在服务器端难以理解......我有使用Perl和其他cgi-bin类型脚本的经验,但我无法找到有关如何在服务器端实际接收数据的任何教程,仅关于证书和身份验证。任何帮助都将非常感激!

1 个答案:

答案 0 :(得分:1)

您希望使用BIO_s_accept()系列函数接受SSL上的连接(示例代码:https://www.openssl.org/docs/manmaster/crypto/BIO_set_bind_mode.html)。您希望BIO_set_accept_bios()对新连接使用相同的包装器,并BIO_set_bind_mode()继续在同一端口上侦听更多连接。

然后调用connection = BIO_pop(accept);以获取代表每个连接的BIO,您可以将其用于输入和输出。当你完成它时BIO_free()

编辑:对于实际的实际使用,请使用scp而不是重新发明轮子。