ftps 上传文件,分为两种不同方式:
1.FTPS - 通过隐式的FTP.
2.FTPS - 通过显示的FTP.
下面是关于FTPS的描述,以及在两种上传方式间的编程转换:
FTPS/FTPES secured connection
The ftp4j library supports both FTPS (FTP over implicit TLS/SSL) and FTPES (FTP over explicit TLS/SSL).
The setSecurity() method can be used to turn on the feature:
client.setSecurity(FTPClient.SECURITY_FTPS); // enables FTPS
client.setSecurity(FTPClient.SECURITY_FTPES); // enables FTPES
Both methods must be called before connecting the remote server.
If the security is set to SECURITY_FTPS, the default port used by the connect() method changes to 990.
The client object, by default, negotiates SSL connections using the SSL socket factory provided by javax.net.ssl.SSLSocketFactory.getDefault(). The default socket factory can be changed calling the client setSSLSocketFactory() method. An alternative SSLSocketFactory, for example, can be used to trust every certificate given by the remote host (use it carefully):
import it.sauronsoftware.ftp4j.FTPClient;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
// ...
TrustManager[] trustManager = new TrustManager[] { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
} };
SSLContext sslContext = null;
try {
sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, trustManager, new SecureRandom());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
FTPClient client = new FTPClient();
client.setSSLSocketFactory(sslSocketFactory);
client.setSecurity(FTPClient.SECURITY_FTPS); // or client.setSecurity(FTPClient.SECURITY_FTPES);
// ...
FTPClient.SECURITY_FTPS 通过隐式的FTP
FTPClient.SECURITY_FTPES 通过显示的FTP
具体的,更多更详细情况,请查阅下面的网址:
http://www.sauronsoftware.it/projects/ftp4j/manual.php#6
验证方式:可使用开源工具Filezilla,进行验证。
工具Filezilla的下载:
http://majg.iteye.com/blog/776224
分享到:
相关推荐
Atom Remote FTP 是一款基于 Atom.io 开发的 FTP/FTPS/SFTP 客户端插件,专门为 icetee/remote 提供远程文件管理的支持。Atom.io 是一个由 GitHub 推出的开源代码编辑器平台,它允许开发者使用 HTML、CSS 和 ...
在Linux环境中,配置FTPS服务端和客户端对于系统管理员来说是一项基本任务,尤其是在需要保护敏感数据传输的场景下。 **服务端配置** 1. **安装FTP服务软件**:在大多数Linux发行版中,常用的FTP服务器软件有...
对于FTPS的隐式模式,关键在于初始化FTP客户端时就开启SSL连接,这通常涉及`FtpWebRequest`或第三方库的相应配置。 在实际应用中,开发者需要理解SSL/TLS握手过程,包括密钥交换、身份验证、协商加密参数等步骤。...
.NET 隐式FTPS源代码是一个用于在.NET 2.0及更高版本环境中实现FTP安全传输协议(FTPS)的编程示例。FTPS,也称为FTP-SSL或FTP over TLS/SSL,是一种增强版的FTP协议,通过在FTP会话中添加SSL/TLS加密层来提供数据的...
FTP客户端编程主要是指通过编程语言实现对FTP服务器的交互,包括下载、上传文件以及获取服务器上的文件列表等功能。本教程将深入探讨FTP客户端编程的核心概念、常用命令及其实现方式。 一、FTP基本原理 FTP基于TCP/...
在Windows操作系统中,使用C++编程语言开发FTP客户端是一项常见的任务,尤其对于那些需要高度定制功能或高效性能的应用来说。VC++(Visual C++)是微软提供的一个强大的C++开发工具集,它包含了一个集成开发环境...
FTPS客户端源代码是用于实现安全的FTP(文件传输协议)连接的软件代码,它结合了FTP和SSL/TLS(Transport Layer Security/Transport Layer Security)技术。FTP是一种广泛使用的网络协议,用于在互联网上上传、下载...
这款工具集包含了多种核心组件,如HTTP/HTTPS客户端、FTP/FTPS客户端、SMTP/POP3/IMAP邮件处理组件等,极大地简化了网络编程的复杂性。 1. HTTP/HTTPS客户端:Clever Internet Suite 提供的HTTP/HTTPS客户端组件...
Xftp是一款专业的文件传输客户端,支持SFTP、FTP、FTPS等多种协议,确保了数据在传输过程中的安全性。它采用了多窗口界面,用户可以同时管理多个连接,提高工作效率。Xftp提供了丰富的功能,如断点续传、拖放操作、...
node-ftps, FTP FTPS和SFTP客户端 node.js,主要是lftp封装器 节点 ftps FTP 。FTPS和SFTP客户端 node.js,主要是 lftp 封装器。 要求你需要在计算机上安装可以执行 lftp 。LFTP主页Windows ( Chocolatey )C:&
FTP客户端是用户与FTP服务器交互的工具,而FTPS(FTP over SSL/TLS)则为FTP提供了安全加密的通道,确保数据传输的隐私性。 FileZilla服务器是一款开源的FTP服务器软件,具有易于使用、稳定可靠和功能丰富的特点,...
FTPS源代码通常包含了实现FTPS功能的客户端和/或服务器端程序的源文件。`curl-7.12.0`是著名的开源HTTP和FTP客户端库curl的一个旧版本,它支持多种协议,包括FTPS。curl项目提供了用于在命令行上进行文件传输的工具...
支持FTP加密上传,1.4到1.7版本的包 Security Basic FTP authentication. FTPS (FTP over implicit TLS/SSL). FTPES (FTP over explicit TLS/SSL).
隐式 SSL 在端口 990 上运行,所有数据交换都在 SSL 会话中进行,而显式 SSL 允许服务器同时支持 FTP 和 FTPS,客户端需先发送命令请求加密连接,然后进行数据传输。 SFTP(Secure File Transfer Protocol)则完全...
该项目提供了一系列调试和转换工具,包括Mq调试工具、Http调试工具、json格式化编辑工具、图标生成工具、Redis连接工具、网页源码下载工具、切换Hosts工具、Ftp服务器、Cmd调试工具、Ftp/Ftps/Sftp客户端调试工具、...
21 Rust网络编程,FTP协议介绍 通俗易懂,系统全面的学习。下一节22 Rust网络编程,编写FTP客户端
不到100k的ftp服务器,中文界面,有简单的设置
隐式调用”主要涉及隐式FTPS。 隐式FTPS在连接建立之初就要求使用SSL/TLS加密,端口通常为990,而不是标准FTP的21端口。在隐式模式下,客户端首先通过安全连接请求服务,然后进行FTP命令交换。这样可以确保整个会话...
FileZilla 客户端是一个快速可靠的、跨平台的FTP,FTPS和SFTP客户端。具有图形用户界面(GUI)和很多有用的特性。 1. 免费 2.易于使用 3.支持FTP, FTP并支持SSL/TLS (FTPS)协议,支持SSH文件传输协议(SFTP) 4.跨平台。...
Java实现的FTP(File Transfer Protocol)服务器和客户端是网络编程中的一个重要实践,它涉及到了Java的Socket编程、网络通信协议的理解以及设计模式的应用。FTP是一种用于在互联网上传输文件的标准协议,而用Java来...