vsftp服务器点滴

关于ftp SSL(FTPS)

【服务器】

1、帐号开启

   /etc/ftpuser里账号前加#

 

2、创建证书

   #mkdir -p /user/share/ssl/certs

   #openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem

   # cp vsftpd.pem /user/share/ssl/certs/vsftpd.pem

 

3、vsftp.conf

   ssl_enable=YES

   ssl_tlsv1=YES

   allow_anno_ssl=YES

   anon_root=/home/ftp/pub

   force_local_data_ssl=YES

   force_local_logins_ssl=YES

   local_umask=077

   rsa_cert_file=/user/share/ssl/certs/vsftpd.pem

 

 【客户端】

导入证书

[方式1]直接导入,若-keystore不存在,则自动创建。

keytool -import -keystore mon.keystore -alias mon -storepass 111111 -file public.pem

[方式2]先创建mon.keystore,删除默认数据,最后导入

keytool -genkey -alias pp -keystore mon

keytool -list -v -keystore mon

keytool -delete -alias pp -keystore mon

keytool -import -keystore mon -alias public -storepass 111111 -file public.pem

注意:public.pem 只保留公钥,去掉私钥。

 

代码:

FtpsClient =FtpsClientFactory.getFtpsClient();

 

//导入证书

String type = keyStore.getDefaultType();

char[] passwordstore = "111111".toCharArray;

Keystore keystore = keyStore.getInstance(type);

java.io.InputStream fis = new java.io.InputStream("c:/mon.keystore");

keystore.load(fis, passwordstore);

fis.close();

 

//设置证书

FTPSX509TrustManagerImpl x509Trust = new FTPSX509TrustManger(keystore);

TrustManager trustCert = new TrustManager[]{x509Trust };

ftpsClient.setTrustManagers(trustCerts);

 

//设置管理器

KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509", "SunJSSE");

kmf.init(keystore, passwordstore);

KeyManager[] km = (KeyManager[]) kmf.getKeyManagers();

ftpsClient.setKeyManager(km);

 

//连接

ftpsClient.connet();

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值