FTPS客户端程序用于数据连接

时间:2018-07-18 10:10:22

标签: ssl ftp tls1.2 ftps mbedtls

我正在使用LWIP和mbedTLS堆栈的嵌入式系统中开发FTPS客户端。

现在,我要做的是:

  • 通过DHCP获取IP地址
  • 通过DNS获取服务器的IP地址
  • 启动与服务器的TCP连接(控制连接)
  • 使用命令AUTH TLS告诉我要使用TLS协议的FTP服务器
  • 与服务器握手TLS协议
  • 验证服务器发送的x509证书
  • 告诉客户端我想在被动模式下工作,并且想使用命令RETR读取文件。

现在,我需要打开数据连接以读取文件。那么我想知道的是,数据连接是否以与控制连接相同的方式得到保护?那意味着我有要验证的证书吗?握手是一样的吗?

如果不清楚,请让我知道我根本不是该领域的专家。

感谢您将来的回复

1 个答案:

答案 0 :(得分:0)

在发送AUTH命令后,在显式FTPS连接中,数据连接始终保持安全。根据主动/被动连接,数据连接是通过端口20(主动)或协商的某个随机端口(被动)打开的。

据我所知,您不需要任何额外的握手。

您是否可以配置是否要重复使用打开控制通道时创建的相同会话ID。这与服务器知道打开连接控制通道的同一客户端已建立数据连接有关。某些服务器需要此功能,某些服务器允许此功能,某些服务器不支持此功能。