-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathSSLServer.java
68 lines (52 loc) · 1.85 KB
/
SSLServer.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
package ssl;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
/**
Visit the channel http://youtube.com/zarigatongy
*/
public class SSLServer {
public static void main(String[] arstring) {
try {
/**
* Keystore Formats Supported by Java
* 1. JKS (Java Key Store) Ð this is a Java format
* 2. PKCS12 Ð this is an industry standard
*
*/
/**
* The steps to creating a keystore that represents a user,
* application or hostname are as follows:
*/
/**
* 1) Generate a key pair (public / private key)
2) Generate a Certificate Signing Request (CSR) from the key pair
3) Get the CSR signed by the trusted CA (output of this is a certificate)
4) Import the certificate produced by the CA that bears your details
(CA's response to your signing request) into the key store
5) Import the CA's own certificate into your keystore as a trusted certificate
*/
SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory
.getDefault();
SSLServerSocket sslserversocket = (SSLServerSocket) sslserversocketfactory
.createServerSocket(1234,1,InetAddress.getByName("localhost"));
SSLSocket sslsocket = (SSLSocket) sslserversocket.accept();
InputStream inputstream = sslsocket.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(
inputstream);
BufferedReader bufferedreader = new BufferedReader(
inputstreamreader);
String string = null;
while ((string = bufferedreader.readLine()) != null) {
System.out.println(string);
System.out.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}