myhttpsserverauth.java

来自「Java安全性编程实例,解压看说明」· Java 代码 · 共 46 行

JAVA
46
字号
import java.net.*;
import java.io.*;
import javax.net.ssl.*;
public class MyHTTPSServerAuth {
    public static void main(String args[ ]) {
        int i=0;
        try {
            SSLServerSocketFactory ssf= (SSLServerSocketFactory)
                                        SSLServerSocketFactory.getDefault( );
            SSLServerSocket ss=(SSLServerSocket)ssf.createServerSocket(443);
            //要求客户验证
            ss.setNeedClientAuth(true);
            System.out.println("Web Server OK ");

            while(true){
                Socket s=ss.accept( );  //等待请求
                PrintStream out = new PrintStream(s.getOutputStream( ));
        BufferedReader in = new BufferedReader(
new InputStreamReader(s.getInputStream( )));
                String info=null;
                while(( info=in.readLine())!=null){
                    System.out.println("now got "+info);
                    if(info.equals("")) break;
                }

                System.out.println("now go");
                out.println("HTTP/1.0 200 OK");
                out.println("MIME_version:1.0");
                out.println("Content_Type:text/html");
                i++;
                String c="<html> <head></head><body> <h1> Hi,  this is "
                         +i+"</h1></Body></html>";
                out.println("Content_Length:"+c.length( ));
                out.println("");
                out.println(c);
                out.close( );
                s.close( );
                in.close( );
            }
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

⌨️ 快捷键说明

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