使用OpenSSL将现有TCP套接字转换为TLS

时间:2013-04-25 03:20:48

标签: c++ ssl tcp openssl

我需要一些关于OpenSSL,TLS套接字的信息。首先,我想通过TCP上的TLS与服务器建立连接。 通常首先创建一个TCP套接字,然后使用TCP套接字连接到服务器,然后将TCP套接字转换(通过TCP套接字发送或接收之前)到TLS。

我的问题是可以按照以下方式吗?

  1. 创建TCP套接字。
  2. 使用TCP套接字与服务器连接。
  3. 通过TCP套接字发送和接收一些数据。
  4. 然后将TCP套接字转换为TLS。

    注意:我使用的是OpenSSL。

1 个答案:

答案 0 :(得分:1)

似乎可以以给定的方式提供服务器必须支持它。请参阅SMTP。它以这种方式用于SMTP服务器,其中最初的几个会话是在纯TCP中,然后是SSL / TLS。您可以使用BIO_new_socket将现有套接字绑定到BIO,然后使用SSL_set_bio将此套接字设置为SSL *结构。

您可以找到许多SSL客户端示例。