Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

1 Zum Seitenanfang

Sonntag, 19. August 2007, 15:39

Java https eigene Zertifikate ????

mein Java-Progg soll über eine https-Verbindung mit Server kommunizieren.
Komme aber überhaupt nicht mit dem Import des eigenen Zertifikates klar( also selbstverifiziert) bzw. überhaupt mit .keystore und keytools. hat schon mal jemand hier damit zu tun gehabt?

Zumindest 'normale' https-Seiten kann ich abrufen. Nur jene eben nicht, bei denen z.B. Firefox eine Warnung ausgibt und mich fragt, wie weiter zu verfahren sei bzw den Import des Zertifikates als vertrauenswürdig anbietet.
 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

2 Zum Seitenanfang

Sonntag, 19. August 2007, 15:50

Ich kenn mich mit Tomcat und HTTPS Zertifizierung aus.
Steht der Server schon?
Hast schon ein Zertifikat?
Kann der Browser mit dem Zertifikat arbeiten?
Wie nimmst du das Zertifikat vom Server an (Welches HTTPClient framework)?

Und warum willst du die Socketverbindung nicht mit SSL verschlüsseln?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »nocturne« (19. August 2007, 15:54)

 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

3 Zum Seitenanfang

Sonntag, 19. August 2007, 16:24

Client ist mein Java-programm. Das soll mit ganz normalen Webservern kommunizieren (in meinem Fall Apache2 ). auf meinem Testserver habe ich Bereiche via eigenen ssl-zertifikaten 'gesichert' .

Mit Browser funktioniert das auch (allerdings mit Warnung/ logisch, weil eigene ca => genau da liegt das Problem, da ich nicht weiß, wie ich java klarmachen soll, dass es dieses Zertifikat als vertrauenswürdig schluckt / hat eben irgendwas mit .keystore + SecurityManager und Import des Zertifikates zu tun)

Ich nutze überhaupt kein HttpClient-Framework, nur das was im Standart unter

javax.net.ssl.*;
java.net.*
etc...
vorhanden ist.

https://www.gmx.net , https://www.verisign.com etc kann ich auch abrufen.

Es geht ja eben gerade darum, die Socketverbindung über SSL laufen zu lassen( aber eben auch mit eigenen Zerts) .

mal ein Fragment:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
....

HttpsURLConnection conn;

conn = url.openConnection();
conn.setDoOutput(true);
					
	
					URLoutput = new DataOutputStream(conn.getOutputStream());
					
					URLoutput.writeBytes("\n");
			        URLoutput.close();
					*/
					
					URLinput = new BufferedReader(new InputStreamReader(conn.getInputStream()));
			        while ((line = URLinput.readLine()) != null) {
			        	
			        	System.out.println(line+"\n");
			        	
			        }

... etc /noch die Exceptions usw.

Bin gerade in Eile, kann dir aber nachher mal mehr posten, damit du weißt, wie ich bisher vorgegangen bin, falls unklar.

irgendein SecurityManager muß wohl noch gesetzt werden, weiß das aber nicht so genau und suche seit Stunden...

Gruß

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (19. August 2007, 16:25)

 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

4 Zum Seitenanfang

Montag, 20. August 2007, 17:08

Alles klar, du musst ein anderes Framework verwenden.
Nimm jsse, damit arbeiten wir. Funzt.
Ob kostenlos : Keine Ahnung, denke schon.

http://forum.java.sun.com/thread.jspa?th…ssageID=3750351
und
http://java.sun.com/j2se/1.4.2/docs/guid…psURLConnection


Für die Zertifikate:
http://java.sun.com/j2se/1.4.2/docs/guid…stomizingStores

Soweit ich weiß musst du den Zertifikat-inhalt selbst speichern und laden .

PS: mit keytools erstellst du Zertifikate, vor allem um Sie zu verteilen! Du bekommst ja andere zertifikate downgeloaded als auf dem Server gespeichert ist. (Außer master-zertifikate)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »nocturne« (20. August 2007, 17:12)

 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

5 Zum Seitenanfang

Montag, 20. August 2007, 19:36

Na Moment, jsse ist mittlerweile doch Bestandteil der Java Standart Edition.
Das sind die Klassen unter "javax.net.*". War vor 1.4.2. noch eine separate api, gehört aber jetzt dazu. Hat mich anfänglich auch ziemlich verwirrt, da es sehr viele ältere Seiten gibt, die von einer externen api schreiben.

Ich will keine eigenen Zertifikate erstellen(die existieren ja schon / über openssh erstellt und schon im Apache integriert), sondern diese bestehenden nur importieren.
Aber auch das geht über das keytool.
Allerdings gibt es , soweit ich das am Rande verstanden habe, auch die Möglichkeit,fast alles, was mit keytool machbar ist, auch über (so verstand ich es, bin da aber noch nicht genauer durchgestiegen) die Klassen und packages in "java.security.certs" darauf zuzugreifen.

Wollte eigentlich selbstsignierte Zertifikate im Programm ermöglichen, ohne dass das Keytool genutzt werden muß.
Weiß noch nicht, wie ich das löse, da das Programm eingentlich nicht nur auf meinem Rechner bzw. nicht nur im Zusammenhang mit meiner truststores und meinem Zertifikat laufen soll. Zum einen soll es den Sicherheitsanforderungen genügen, zum anderen aber eigentlich auch problemlosen Zugriff über eigene Zertifikate erlauben.
Ich glaube, das ist ein unlösbarer Wiederspruch.
Die Links sind aber, was ich suchte.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (20. August 2007, 19:37)

 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

6 Zum Seitenanfang

Dienstag, 21. August 2007, 09:30

Hi ospx,

jsse ist schon drinn? Oh! *g*

Die Zertifikate müssen bei der Authentifizierung ja ausgetauscht werden.
Es reicht nicht, das gespeicherte zertifikat im Programmordner zu halten.
Auch kannst du keine Zertifikatverwaltung von Windows nutzen.

Kriegst du eine Fehlermeldung beim Import mit
http://www.ibm.com/developerworks/java/j…tml#getInstance(java.io.InputStream)
?
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

7 Zum Seitenanfang

Dienstag, 21. August 2007, 11:01

wenn ich das Zertifikat entsprechend importiere funktioniert es jetzt .
War langsam klargeworden, dass jeder seinen eigenen Zertifikatspeicher nutzt (Window, IE, Firefox, java,etc pp/ ist ja echt zum kotzen, wenn auch verständlich)
hatte lange auch die falschen SystemProperties der VM mitgegeben. Allerdings stört mich die Verwendung von keytool noch. Will dem Endnutzer nicht zumuten, auf der Kommandozeile mit keytools irgendwelche Zertifikate zu importieren.
Habe jetzt eher ein logisches Problem, von dem ich noch nicht so richtig weiß, wie ich es lösen sollte.
Außerdem suche ich trotzdem nach Möglichkeiten, keytool via java zu ersetzen.
Soll wohl auch gehen über
'java.security.* ' java.security.certs.* etc. Habe da aber noch gar keinen Plan.
Dank dir für deine Unterstützung, vorallem der eine Link war echt genau, was ich suchte.
Gruß