Pra*_*van 1 c++ sockets ssl openssl file-descriptor
对于SSL连接,FD通过接受呼叫收到的所有信息可以做什么?可以重复使用吗?
我想确切知道的是:
接受连接后,我得到FD。我使用创建SSL句柄(SSL*)SSL_new。使用将,添加FD到此句柄SSL_set_fd。我使用做握手SSL_accept。现在,在这一点上,如果我叫SSL_shutdown上SSL*,将FD被关闭?那SSL_free呢?
如果上述问题的答案是否定的,那么我可以与FD一起使用SSL*吗?
为了确切解释我想要什么,如果我们FD使用handle 从连接中读取一些数据SSL*,那么我们释放或关闭SSL*,是否可以FD使用new 读取其余数据SSL*?
SSL_shutdown仅通过套接字发送关闭通知。如果以后要重用该套接字作为普通套接字,则必须确保另一端也做了SSL_shutdown。此信息为您提供SSL_shutdown的返回码:如果为1,则SSL连接已关闭;如果为0,则应再次调用SSL_shutdown,以等待对等方发出关闭通知。请参阅SSL_shutdown文档以获取更多信息。
完成此操作后,您可以继续将套接字用作普通套接字。通过FTP(ftps)在SSL上完成此操作,例如,使用“ AUTH TLS”,连接将升级到SSL,使用“ CCC”,连接将再次降级为纯文本。
SSL_free仅释放与SSL对象关联的内存,它不更改套接字上的任何内容,也不发送/接收任何数据。
| 归档时间: |
|
| 查看次数: |
2687 次 |
| 最近记录: |