echoserver.java

来自「java应用开发详解」· Java 代码 · 共 53 行

JAVA
53
字号
import java.net.*;
import java.io.*;
import java.util.*;
import java.security.*;
import javax.net.*;
import javax.net.ssl.*;

public class EchoServer
{
  public static void main(String [] arstring)
  {
    try
    {
       	String KEYSTORE = "sslkeystore";
 	char[] KEYSTOREPW = "12345678".toCharArray();
 	char[] KEYPW = "ssltest".toCharArray();
 
   	KeyStore keystore = KeyStore.getInstance("JKS");
  	keystore.load(new FileInputStream(KEYSTORE), KEYSTOREPW);
  
  	KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
  	kmf.init(keystore, KEYPW);

  	SSLContext sslc = SSLContext.getInstance("SSLv3");

  	sslc.init(kmf.getKeyManagers(), null, null);
     	ServerSocketFactory ssf = sslc.getServerSocketFactory();   
      
      
        //SSLServerSocketFactory ssf=(SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
      	SSLServerSocket serverSocket =(SSLServerSocket)ssf.createServerSocket(1111);
      	System.out.println("ssl Echo server start at 1111");
      	SSLSocket sslsocket = (SSLSocket)serverSocket.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();
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?