【发布时间】:2014-06-05 09:15:18
【问题描述】:
我已经编写了一个程序(显然是从网上复制的,并根据我的需要对其进行了少量修改!)用于使用 apache ftp api 和使用 Filezilla 服务器创建本地服务器来下载/上传文件。 一切正常。问题是我没有得到我们必须创建信任管理器的部分。
代码:
FTPSClient ftpsClient= null;
SSLContext sslContext = SSLContext.getInstance(protocol);
TrustManager tm = new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
System.out.println("getAcceptedIssuers------");
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
// TODO Auto-generated method stub
System.out.println("checkClientTrusted------");
}
@Override
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
// TODO Auto-generated method stub
System.out.println("checkServerTrusted------");
}
};
sslContext.init(null, new TrustManager[] { tm }, null);//new SecureRandom());
ftpsClient = new FTPSClient(true, sslContext);
public X509Certificate[] getAcceptedIssuers() 此方法根据文档返回可信任的对等方身份验证的证书颁发机构列表。但在代码中,该方法返回 null。
另外,在 Filezilla 服务器中设置 ftps 的配置时,我必须创建一个证书。
看到这一切,我不明白为什么要创建证书,因为我们没有传递或返回证书。或者服务器或库是否在内部处理它。有人可以详细解释一下这个问题吗?
【问题讨论】:
标签: java x509certificate filezilla client-certificates ftps