java ftps 证书_java – 连接到FTPS服务器

我写FTPS服务器,我在AUTH TLS命令后遇到ssl连接问题.

简单的例子:

try

{

int ServerPort = 21;

ServerSocket FtpExServer = new ServerSocket(ServerPort);

while(true)

{

Socket S = FtpExServer.accept();

InputStreamReader ISR = new InputStreamReader(S.getInputStream());

OutputStreamWriter OSW = new OutputStreamWriter(S.getOutputStream());

BufferedReader ClientSocketReader = new BufferedReader(ISR);

PrintWriter ClientSocketWriter = new PrintWriter(OSW, true);

ClientSocketWriter.println("220 Welcome to FTP server.");

print(ClientSocketReader.readLine());

ClientSocketWriter.println("234 AUTH TLS successful");

char[] passphrase = "pass".toCharArray();

char[] cpassphrase = "cpass".toCharArray();

KeyStore keystore = KeyStore.getInstance("JKS");

keystore.load(new FileInputStream("keystore.jks"), passphrase);

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

kmf.init(keystore, cpassphrase);

SSLContext context = SSLContext.getInstance("TLS");

KeyManager[] keyManagers = kmf.getKeyManagers();

context.init(keyManagers, null, null);

SSLServerSocketFactory ssf = context.getServerSocketFactory();

SSLServerSocket ss = (SSLServerSocket) ssf.createServerSocket(990);

ss.setSoTimeout(2000);

SSLSocket s = (SSLSocket)ss.accept();

ISR = new InputStreamReader(s.getInputStream());

OSW = new OutputStreamWriter(s.getOutputStream());

ClientSocketReader = new BufferedReader(ISR);

ClientSocketWriter = new PrintWriter(OSW, true);

ClientSocketWriter.println("234 AUTH TLS successful");

print(ClientSocketReader.readLine());

ClientSocketWriter.println("331 Password required for smie");

print(ClientSocketReader.readLine());

ClientSocketWriter.println("230 User smie logged in");

print(ClientSocketReader.readLine());

ClientSocketWriter.println("215 UNIX Type: L8");

print(ClientSocketReader.readLine());

ClientSocketWriter.println("550 Command not suported.");

}

}

catch(Exception e)

{

print(e);

}

说明:FTP客户端(例如MoveITFreely)连接到端口21上的服务器.发送命令“AUTH TLS”后,服务器发送“234 AUTH TLS成功”.现在客户端必须连接到端口990(?)上的服务器,但客户端不连接并获得超时异常.

我做错了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值