FTP协议的分析和扩展(19) SSL Socket进行协商和通讯,之后将全程采用SSL加密连接。在这种模式中一般ftp server 将监听在一个新的服务端口,IANA指定ftps:tcp:990为implicit SSL ftp的默认端口。因为在 连接初始阶段就自动由SSL实现完成了协商,因此implicit模式中AUTH指令是可选的。
在不考虑兼容性的因素下,在服务期端最好优先使用implicit SSL模式,可以获得更好的保密 特性。
比较两种ssl ftp实现模式区别如下: /======================================================================\ explicit implicit client server client server ====================================================================== connect() ------> -+-明文 sslConnect() ------> 加密 <------ 220 <------ 220 -+ AUTH SSL ------> USER *** ------> <------ 234 -+ <------ 331 TLSneg() <-----> TLSneg() -+-加密 PASS *** ------> <------ 200 <------ 230 USER *** ------> LIST <-----> ... <------ 331 RETR <-----> ... PASS *** ------> ... <------ 230 LIST/RETR <-----> ... sslClose() <-----> ... -+ close() <-----> ... -+ \======================================================================/
>>3.5 一些杂乱图示 在3.3种引用了一个Explicit SSL连接指令序列,这里是对应的Implicit SSL连接过程: /======================================================================\