1

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

现在,我要做的是:

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

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

如果不清楚,请告诉我,我根本不是这方面的专家。

感谢您未来的回复

4

1 回答 1

1

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

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

如果要重用在打开控制通道时创建的相同会话 ID,您可能会也可能无法配置。这与服务器知道数据连接已由打开控制通道的同一客户端建立有关。一些服务器需要这个,一些服务器允许这个,一些服务器不支持这个。

于 2018-07-18T11:55:42.773 回答