https / SSL / Zertifikat

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich möchte gern eine Verbindung zu einer Seite herstellen für die ich ein Zertifikat benötige.
Zertifikat ist bereits da, welche Archive benötige ich und wie realisiere ich das dann in Java?

Bitte um eure Hilfe
 
Du willst also einen Http(s)Client schreiben oder wie?
Beschreibe bitte genauer was du wie machen möchtest.

ms
 
ich möchte Daten von einem Web Service abfragen und der möchte ein Zertifikat da er über https läuft.

wie binde ich das Zertifikat in java ein oder lade es so das er es verwendet?
 
HTTPS ist mit Java etwas Tricky, wenn man self-signed Certifikate benutzen muss. Es gibt da aber ein paar Properties und Techniken, wie man Java das benötigte Zertifikat beibringen kann, ohne gleich die CACERT im JRE anfassen zu müssen:
Code:
// Proxy Einstellungen für https: (-Dhttps.proxyHost=? ... Parameter)
System.setProperty("https.proxyHost", "?");
System.setProperty("https.proxyPort", "?");

// Wir wünschen Debugging
System.setProperty("javax.net.debug", "all");

// SSL-Key-Store. Wer den hier angibt, muss dafür sorgen, dass
// alle notwendigen SSL-Zertifikate ebenfalls dort enthalten sind!
// Andernfalls wird eine Exception geworfen:
// javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
// sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
// Man kann einen Store erzeugen, welcher das Client-Zertifikat enthält:
//%JAVA_HOME%\bin\keytool.exe -import -alias HTTPS_URL_Cert -file HTTPS_URL.crt -keystore keystore.jks -keypass PASSWD -storepass PASSWD
//%JAVA_HOME%\bin\keytool.exe -import -alias HTTPS_URL_Cert -file HTTPS_URL.crt -keystore cacert -keypass changeit -storepass changeit
System.setProperty("javax.net.ssl.trustStore", "/PATH/keystore.jks"); // ES WIRD KEIN CLASSPATH GENUTZT!!!!!
System.setProperty("javax.net.ssl.trustStoreType", "jks");

Das ist ein Kommentar aus einem meiner Progs - da hatte ich das mal aufgeschrieben. Viel Erfolg!
 
Und was ist da jetzt anders erklärt als in meinem Link? Kommt aufs gleiche raus, nur hab ich öfters eine Leerzeile eingebaut ;-)
 
heißt also, ich müsset das

Code:
System.setProperty("javax.net.ssl.trustStore", "c:\\m180dmzwasept1_self.crt");
System.setProperty("javax.net.ssl.trustStoreType", "crt");

ausführen.

Und dann verwendet er das gerade angegebene Zertifikat? für die Verbindung zum Server.
 
Anonymous hat gesagt.:
heißt also, ich müsset das

Code:
System.setProperty("javax.net.ssl.trustStore", "c:\\m180dmzwasept1_self.crt");
System.setProperty("javax.net.ssl.trustStoreType", "crt");

ausführen.

Und dann verwendet er das gerade angegebene Zertifikat? für die Verbindung zum Server.

Ne, muß ein Store sein - mit dem Keytool erzeugt.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben