Samples JDK
EchoServerTest.java
1 package com.freemindcafe.socket.ssl.sample4;
2 
3 import static com.freemindcafe.utils.FileSystemUtils.currentDir;
4 import javax.net.ssl.KeyManager;
5 import javax.net.ssl.KeyManagerFactory;
6 import javax.net.ssl.SSLContext;
7 import javax.net.ssl.SSLServerSocket;
8 import javax.net.ssl.SSLServerSocketFactory;
9 import javax.net.ssl.SSLSocket;
10 import javax.net.ssl.TrustManagerFactory;
11 import javax.net.ssl.X509KeyManager;
12 
13 import org.junit.Test;
14 
15 import java.io.BufferedReader;
16 import java.io.FileInputStream;
17 import java.io.InputStream;
18 import java.io.InputStreamReader;
19 import java.net.InetAddress;
20 import java.net.Socket;
21 import java.security.KeyStore;
22 import java.security.Principal;
23 import java.security.PrivateKey;
24 import java.security.cert.X509Certificate;
25 
26 public class EchoServerTest {
27 
28  @Test
29  public void ssl_server_that_demands_client_auth() {
30  try {
31 
32  System.setProperty(
33  "javax.net.ssl.trustStore",currentDir()+"/src/com/freemindcafe/socket/ssl/sample4/serverkeystore.jks");
34  System.setProperty("javax.net.ssl.trustStorePassword", "password");
35  System.setProperty(
36  "javax.net.ssl.keyStore",
37  currentDir()+"/src/com/freemindcafe/socket/ssl/sample4/serverkeystore.jks");
38  System.setProperty("javax.net.ssl.keyStorePassword", "password");
39  System.setProperty("javax.net.debug", "ssl:handshake");
40 
41  SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory
42  .getDefault();
43  SSLServerSocket sslserversocket = (SSLServerSocket) sslserversocketfactory
44  .createServerSocket(9999);
45  //sslserversocket.setWantClientAuth(true);
46  sslserversocket.setNeedClientAuth(true);
47  SSLSocket sslsocket = (SSLSocket) sslserversocket.accept();
48 
49  InputStream inputstream = sslsocket.getInputStream();
50  InputStreamReader inputstreamreader = new InputStreamReader(
51  inputstream);
52  BufferedReader bufferedreader = new BufferedReader(
53  inputstreamreader);
54 
55  String string = null;
56  while ((string = bufferedreader.readLine()) != null) {
57  System.out.println("server printing ################");
58  System.out.println(string);
59  System.out.flush();
60  }
61  } catch (Exception exception) {
62  exception.printStackTrace();
63  }
64  }
65 
66 }