Hallo Forum,
ich habe mich hier angemeldet, da ich mir schon seit Wochen den Kopf über eine SSLSocket verbindung den Kopf zerbreche...
Dieser Thread wird beim starten des Servers ausgeführt
Mein Client habe ich folgendermaßen programmiert:
Ich bekomme dann diesen Fehler:
Wo kann der Fehler liegen?
Danke an alle die es sich angeschaut haben, auch wenn sie zu keiner Lösung gekommen sind!
Mit Freundlichen Grüßen
Marcel
ich habe mich hier angemeldet, da ich mir schon seit Wochen den Kopf über eine SSLSocket verbindung den Kopf zerbreche...
Java:
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import javax.net.ServerSocketFactory;
import javax.net.ssl.SSLServerSocketFactory;
public class SSLThread extends Thread {
public ServerSocket serversocket;
public Boolean Alive = true;
@Override
public void run() {
System.out.println("Server started!");
System.setProperty("javax.net.ssl.keyStore", "/key.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "pwd2015");
while(Alive) {
try {
Socket s = serversocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
String msg = in.readLine();
System.out.println(msg);
} catch (IOException e){
e.printStackTrace();
}
}
System.out.println("Server stopped!");
}
public SSLThread(int Port) {
try {
ServerSocketFactory factory = SSLServerSocketFactory.getDefault();
this.serversocket = factory.createServerSocket(Port);
} catch (IOException e) {
e.printStackTrace();
}
}
public void kill() {
this.Alive = false;
}
}
Dieser Thread wird beim starten des Servers ausgeführt
Mein Client habe ich folgendermaßen programmiert:
Java:
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.UnknownHostException;
import javax.net.SocketFactory;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class Test extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Test frame = new Test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Test() {
System.setProperty("javax.net.ssl.keyStore", "C:/Temp/key.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "pwd2015");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnSsl = new JButton("SSl");
btnSsl.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
SocketFactory ssf = SSLSocketFactory.getDefault();
SSLSocket s = (SSLSocket) ssf.createSocket("172.30.1.102", 13000);
s.startHandshake();
PrintWriter pw = new PrintWriter(s.getOutputStream());
pw.println("Hello World");
s.close();
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
btnSsl.setBounds(150, 125, 89, 23);
contentPane.add(btnSsl);
}
}
Ich bekomme dann diesen Fehler:
Java:
[11:32:45] [Thread-10/WARN]: javax.net.ssl.SSLHandshakeException: no cipher suites in common
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.Alerts.getSSLException(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.ServerHandshaker.chooseCipherSuite(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.ServerHandshaker.clientHello(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.ServerHandshaker.processMessage(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.Handshaker.processLoop(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.Handshaker.process_record(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.security.ssl.AppInputStream.read(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
[11:32:45] [Thread-10/WARN]: at sun.nio.cs.StreamDecoder.read(Unknown Source)
[11:32:45] [Thread-10/WARN]: at java.io.InputStreamReader.read(Unknown Source)
[11:32:45] [Thread-10/WARN]: at java.io.BufferedReader.fill(Unknown Source)
[11:32:45] [Thread-10/WARN]: at java.io.BufferedReader.readLine(Unknown Source)
[11:32:45] [Thread-10/WARN]: at java.io.BufferedReader.readLine(Unknown Source)
[11:32:45] [Thread-10/WARN]: at test.SSLThread.run(SSLThread.java:26)
Wo kann der Fehler liegen?
Danke an alle die es sich angeschaut haben, auch wenn sie zu keiner Lösung gekommen sind!
Mit Freundlichen Grüßen
Marcel