我在TLS身份验证时无法从ftp服务器下载该文件。我已经使用DefaultFtpsSessionFactory会话进行TLS身份验证.EveryTIme轮询已启动"在握手期间发生错误"。
虽然我可以通过普通的java类使用apache.common.net的FTPSClient下载文件。
我的xml配置如下: -
<bean id="ftpClientFactory"
class="org.springframework.integration.ftp.session.DefaultFtpsSessionFactory">
<property name="host" value="52.172.153.35"/>
<property name="port" value="21"/>
<property name="username" value=""/>
<property name="password" value=""/>
<property name="clientMode" value="2"/>
<property name="bufferSize" value="100000"/>
<int-ftp:inbound-channel-adapter id="plannedFtpChannel"
session-factory="ftpClientFactory" filename-pattern="*.xls" local-filter="plannedFilter" auto-startup="true"
auto-create-local-directory="true" delete-remote-files="false" remote-directory="/planned" local-directory="/DataFiles/planned" >
<int:poller fixed-delay="10000">
</int:poller>
</int-ftp:inbound-channel-adapter>
我得到的错误如下: -
taskScheduler-6,收到EOFException:error taskScheduler-6,处理异常:javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接%%无效:[Session-4,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384] taskScheduler-6,SEND TLSv1。 2 ALERT:致命,描述= handshake_failure
taskScheduler-2,READ:TLSv1.2应用程序数据,长度= 160 DECRYPTION后的填充明文:len = 160 0000:D8 BE B6 80 50 63 4A A1 EA 00 DA A8 97 03 9D 39 .... PcJ ........ 9 0010:34 35 30 20 54 4C 53 20 73 65 73 73 69 6F 6E 20 450 TLS会话 0020:6F 66 20 64 61 74 61 20 63 6F 6E 6E 65 63 74 69数据连接 0030:6F 6E 20 68 61 73 20 6E 6F 74 20 72 65 73 75 6D on未重新打印 0040:65 64 20 6F 72 20 74 68 65 20 73 65 73 73 69 6F或sessio 0050:6E 20 64 6F 65 73 20 6E 6F 74 20 6D 61 74 63 68 n不匹配 0060:20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 63 6F 6E控制装置 0070:6E 65 63 74 69 6F 6E 0D 0A 4A BA 0F 0F 95 88 44 ... J ..... D 0080:8E B4 90 D0 02 B1 1C DC 78 E1 76 C1 ED BA 2F 82 ........ x.v ... /。 0090:3A 19 0B FA F2 09 61 6C FB 06 06 06 06 06 06 06:..... al ........ taskScheduler-2,收到EOFException:忽略 taskScheduler-2,名为closeInternal(false) taskScheduler-2,再次关闭; state = 5
这里我需要用Google搜索来启用会话重用。 但是,不能这样做! 任何建议。
答案 0 :(得分:0)
这里我们必须覆盖DefaultFtpssessionFactory的getSession()和createClient(),以实现自定义的FTPSClient。它的配置工作正常。