https / SSL / Zertifikat

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
 

ms

Top Contributor
Du willst also einen Http(s)Client schreiben oder wie?
Beschreibe bitte genauer was du wie machen möchtest.

ms
 
G

Guest

Gast
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?
 

quippy

Bekanntes Mitglied
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!
 
T

tuxedo

Gast
Und was ist da jetzt anders erklärt als in meinem Link? Kommt aufs gleiche raus, nur hab ich öfters eine Leerzeile eingebaut ;-)
 
G

Guest

Gast
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.
 

quippy

Bekanntes Mitglied
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.

Ähnliche Java Themen


Oben