-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathSSLServerExample.java
76 lines (57 loc) · 1.99 KB
/
SSLServerExample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package ssl;
//ani
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
/**
Visit the channel http://youtube.com/zarigatongy
*/
//Writing SSL Server in Java
public class SSLServerExample {
/*
* Where do we find the keystore Information ?
*/
final static String pathToStores = "/tmp/ssl/server"; // The Directory
final static String keyStoreFile = "server2.keystore"; // The FileName
final static String passwd = "123456"; // The Password
/*
* Which Port to Listen SSL Connections
*/
final static int theServerPort = 12345;
/*
* Turn on SSL debugging?
*/
static boolean debug = false;
void doServerSide() throws Exception {
SSLServerSocketFactory sslssf = (SSLServerSocketFactory) SSLServerSocketFactory
.getDefault();
SSLServerSocket sslServerSocket = (SSLServerSocket) sslssf
.createServerSocket(theServerPort);
SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
InputStream sslIS = sslSocket.getInputStream();
//For Writing Back to the Client
OutputStream sslOS = sslSocket.getOutputStream();
//Read from the Client
BufferedReader bufferedreader = new BufferedReader( new InputStreamReader(sslIS));
String string = null;
while ((string = bufferedreader.readLine()) != null) {
System.out.println(string);
System.out.flush();
}
sslSocket.close();
}
public static void main(String[] args) throws Exception {
String trustFilename = pathToStores + "/" + keyStoreFile;
System.setProperty("javax.net.ssl.keyStore", trustFilename);
System.setProperty("javax.net.ssl.keyStorePassword", passwd);
if (debug)
System.setProperty("javax.net.debug", "all");
// java -Djavax.net.ssl.keyStore=/tmp/trustFilename
// -Djavax.net.ssl.keyStorePassword=123456 SSLServerExample
new SSLServerExample().doServerSide();
}
}