Как отображать контент через SSL-сокеты в моем веб-браузере, используя мои собственные цифровые сертификаты? - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу создать Java-сервер, на котором я могу просто открыть свой веб-браузер и увидеть «Hello World».Пока что я считаю, что настроил сервер, но не знаю, почему в браузере ничего не отображается.

Я использовал следующие командные строки для создания файлов, связанных с сертификатом.

keytool -genkey -keyalg RSA -keysize 2048 -validity 360 -alias mykey -keystore myKeyStore.jks

keytool -export -alias mykey -keystore myKeyStore.jks -file mykey.cert

keytool -import -file mykey.cert -alias mykey -keystore myTrustStore.jts

Вот мой файл: Server.java

import java.io.*;
import javax.net.ssl.*;

public class Server{

public static void main(String[] args) throws IOException{
    int port = 8080;

    System.setProperty("javax.net.ssl.keyStore", "myKeyStore.jks");

    System.setProperty("javax.net.ssl.keyStorePassword", "123456");

    SSLServerSocketFactory ssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
    SSLServerSocket ss = (SSLServerSocket) ssf.createServerSocket(port);

    while(true){

        SSLSocket sslsocket = (SSLSocket) ss.accept();
        PrintStream out = new PrintStream(sslsocket.getOutputStream(), true);

        String msg = "Hello World";
        out.println("HTTPS/1.0 200 OK");
        out.println("Content-Type: text/html");
        out.println(); // Slut på headers
        out.print(msg);
        out.close();

    }
}
}

Как я могузаставить его отображать "Hello World" в браузере?Я пробовал Firefox и Chrome.

...