# Visualisierung des SSL-Handshakes



## Gast (17. Mai 2007)

Hi, 

ich möchte die Daten, die während des Handshakes bei SSL-Verbindungsaufbau zwischen Client und Server ausgetauscht werden, visualisieren.

Wenn man den Code:

```
import java.net.*;
import java.io.*;
import javax.net.ssl.*;
import java.security.cert.Certificate;

public class SSLSocketClient {
    public static void main(String[] args) throws Exception {
		// Install the all-trusting trust manager
		TrustManager[] trustAllCerts = new TrustManager[]{
			new X509TrustManager() {
				public java.security.cert.X509Certificate[] getAcceptedIssuers() {
					return null;
				}
				public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
				}
				public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
				}
			}
		};
		try {
			SSLContext sc = SSLContext.getInstance("TLS");
			sc.init(null, trustAllCerts, new java.security.SecureRandom());
		
			SSLSocketFactory factory =sc.getSocketFactory();
			SSLSocket socket =(SSLSocket)factory.createSocket(args[0], 443);
	
		
			PrintWriter out = new PrintWriter(
					  			new BufferedWriter(
					  			  new OutputStreamWriter(socket.getOutputStream())));

	    	out.println("GET / HTTP/1.0");
	    	out.println();
	    	out.flush();

	 	    if (out.checkError()) System.out.println("SSLSocketClient:  java.io.PrintWriter error");

	  	    /*BufferedReader in = new BufferedReader(
					    			new InputStreamReader(socket.getInputStream()));

	    	String inputLine;
	    	while ((inputLine = in.readLine()) != null)
			System.out.println(inputLine);
	    	in.close();*/
	    
	    	out.close();
			socket.close();
    	}
 		catch (Exception e) {
 			System.out.println(e);
		}
	}
}
```
z.B. mit


> java -Djavax.net.debug=ssl SSLSocketClient amazon.de


ausführt, dann werden die Daten des Handshakes in der Konsole ausgegeben.

Kann ich diese Ausgabe irgendwie per Code abfangen und z.B. in einem String im Programm abspeichern?


----------



## Gast (17. Mai 2007)

? Hey, das ist mein Thread! 
Es hat sich leider noch nichts erledigt...


----------



## Wildcard (17. Mai 2007)

hmm... mal versucht den OutputStream anzuzapfen?


----------



## Gast (18. Mai 2007)

Das wär ne Idee... ich probiers mal aus. Danke!


----------

