Auf Thema antworten

Hallo liebes Forum,


Ich habe folgende Probleme:

Bei mir will der Java Webserver nicht funktionieren dh dieser will nicht den Text laden :(

Fehlermeldung:

(Aus meinem ErrorHandler)

[code]---------------------------------------------------------- ERROR MESSAGE ----------------------------------------------------------

Datum: 04.06.2017

Zeit: 13:10:26

Meldung:

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

    at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)

    at sun.security.ssl.InputRecord.read(InputRecord.java:527)

    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)

    at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747)

    at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)

    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)

    at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:316)

    at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149)

    at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233)

    at java.io.BufferedWriter.close(BufferedWriter.java:266)

    at ch.swissi.terrmania.terraprotect.webserver.AcceptedSocketConnection.run(AcceptedSocketConnection.java:163)[/code]

Codezeile:

[code=Java]            System.setProperty("javax.net.ssl.trustStore", "alias");

            System.setProperty("javax.net.ssl.trustStorePassword", "mypassword");

            java.lang.System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");

            System.setProperty("https.proxyPort", "8080");

            System.getProperties().put("proxySet", true);

            System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");

            Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

        

        

            KeyStore keystore = KeyStore.getInstance("PKCS12");

            char[] storepass = "mypassword".toCharArray();

            char[] keypass = "mypassword".toCharArray();

            String alias = "alias";

            String file = "plugins/TerraProtect/mc.keystore";

        

            keystore.load(new FileInputStream(file), storepass);

            // display certificate

            java.security.cert.Certificate cert = keystore.getCertificate(alias);


            // setup the key manager factory

            KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");

            kmf.init(keystore, keypass);

            // setup the trust manager factory

            TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");

            tmf.init(keystore);

            SSLContext sc = SSLContext.getInstance("TLS");

            sc.init(kmf.getKeyManagers(), null, null);

            SSLServerSocketFactory ssf = sc.getServerSocketFactory();

            sock.setEnabledProtocols( new String[]{"TLSv1","TLSv1.1","TLSv1.2"} );

            sock.setEnabledCipherSuites(ssf.getSupportedCipherSuites());

            sock.setSSLParameters(sc.getDefaultSSLParameters());

            BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));

            BufferedWriter out = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));

        

        

            out.write("HTTP/1.0 200 OK\r\n");

            out.write("Server: Apache/0.8.4\r\n");

            out.write("Content-Type: application/json\r\n");

            out.write("\r\n");

            out.write(getPrettyGson());        

            out.close(); <--- Hier kommt der Fehler

        

            sock.close();[/code]

Was ist den das Problem? Ich verstehe net wieso der das nicht ausgeben kann....



Oben