当前位置: 首页 > 知识库问答 >
问题:

没有TLS的Spring FTP客户端连接

郭和硕
2023-03-14

我要创建一个与spring FTPSSessionFactory的ftp连接。

在我的项目中,我将xml配置用于与TLS的ftp连接(它起作用了):

<bean id="ftpSessionFactory"
      class="org.springframework.integration.ftp.session.DefaultFtpsSessionFactory">
    <property name="host" value="#{configurationService.configuration.getProperty('file.transfer.server.host')}" />
    <property name="port" value="#{configurationService.configuration.getProperty('file.transfer.server.port')}" />
    <property name="username" value="#{configurationService.configuration.getProperty('file.transfer.server.user')}" />
    <property name="password" value="#{configurationService.configuration.getProperty('file.transfer.server.password')}" />
    <property name="clientMode" value="2"/>
    <property name="fileType" value="2"/>
    <property name="useClientMode" value="true"/>
    <property name="keyManager" ref="keyManager"/>
    <property name="protocol" value="TLS"/>
    <property name="trustManager" ref="trustManager"/>
    <property name="prot" value="P"/>
    <property name="needClientAuth" value="true"/>
    <property name="sessionCreation" value="true"/>
    <property name="implicit" value="false"/>
</bean>
ftpSessionFactory.setHost(host);
ftpSessionFactory.setPort(port);
ftpSessionFactory.setUsername(username);
ftpSessionFactory.setPassword(password);
ftpSessionFactory.setProtocol(StringUtils.isNoneEmpty(protocol) ? protocol : null); // <-- null for no TLS
FTPClient f = new FTPClient();
f.connect(host);
f.login(username, password);

现在我的问题是:
我如何修改xml部分(我猜是用setter)使它同时适用于这两个部分?

共有1个答案

阮星火
2023-03-14

使用DefaultFTPSSessionFactory而不是DefaultFTPSSessionFactory

 类似资料:
  • 我有一个简单的udp客户机/服务器程序。 如果客户端正在失去连接,或者服务器正在重新启动,客户端不会自动重新连接。我总是要手动重启客户端。 这是我的客户端套接字配置:

  • 问题内容: 我正在尝试使用以下软件包使用TLS实现node.js mqtt客户端; https://www.npmjs.com/package/mqtt#client 在不使用TLS的情况下运行mqtt客户端的代码如下; 应该如何修改以上代码以在mqtt客户端上使用TLS? mosca MQTT代理是使用以下命令独立运行的; 问题答案: 应该足以将URL 的一部分更改为 。 自签名证书 使用自签名

  • mosca MQTT代理作为独立运行,使用下面的命令;

  • 本文主要描述了在 Kubernetes 上如何为 TiDB 集群的 MySQL 客户端开启 TLS。TiDB Operator 从 v1.1 开始已经支持为 Kubernetes 上 TiDB 集群开启 MySQL 客户端 TLS。开启步骤为: 为 TiDB Server 颁发一套 Server 端证书,为 MySQL Client 颁发一套 Client 端证书。并创建两个 Secret 对象,

  • 我希望能够有两个Wildfly(或JBoss7)实例,其中一个服务器与另一个服务器上的EJB对话。棘手的部分是,根据文档,需要创建带有出站套接字绑定的远程出站连接。这对我们的运营团队来说是一个很大的麻烦,尤其是当我们想要扩展的时候。

  • 当我尝试access/oauth/token时,我得到了错误: O.S.S.O.Provider.Endpoint.TokenEndpoint:处理错误:NoSuchClientException,没有请求ID:username的客户端 null