1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.net.ftp;
19
20 import java.io.IOException;
21 import java.net.InetAddress;
22 import java.net.ServerSocket;
23
24 import javax.net.ServerSocketFactory;
25 import javax.net.ssl.SSLContext;
26 import javax.net.ssl.SSLServerSocket;
27
28
29
30
31
32 public class FTPSServerSocketFactory extends ServerSocketFactory {
33
34
35 private final SSLContext context;
36
37 public FTPSServerSocketFactory(SSLContext context) {
38 this.context = context;
39 }
40
41
42 @Override
43 public ServerSocket createServerSocket() throws IOException {
44 return init(this.context.getServerSocketFactory().createServerSocket());
45 }
46
47 @Override
48 public ServerSocket createServerSocket(int port) throws IOException {
49 return init(this.context.getServerSocketFactory().createServerSocket(port));
50 }
51
52 @Override
53 public ServerSocket createServerSocket(int port, int backlog) throws IOException {
54 return init(this.context.getServerSocketFactory().createServerSocket(port, backlog));
55 }
56
57 @Override
58 public ServerSocket createServerSocket(int port, int backlog, InetAddress ifAddress) throws IOException {
59 return init(this.context.getServerSocketFactory().createServerSocket(port, backlog, ifAddress));
60 }
61
62
63
64
65
66
67
68
69 public ServerSocket init(ServerSocket socket) {
70 ((SSLServerSocket) socket).setUseClientMode(true);
71 return socket;
72 }
73 }
74