Achtung: Diese Dokumentation ist veraltet, bitte rufen Sie die Übersichtsseite auf, um zur aktuellen Dokumentation zu gelangen.

2.1.7.3 Importieren des Zertifikats in Java

Wenn Client Programme wie z.B. Java   auf einen SSL verschlüsselten Server zugreifen, der über ein selbst signiertes Zertifikat verfügt, dann muss man das Zertifikat in den TrustStore von Java bzw. Tomcat importieren.

Es gibt einen systemweiten Truststore , wenn Sie das systemweiten TrustStore von Java verwenden, liegt dies in $JAVA_HOME/jre/lib/security/cacerts . Dann würde der Befehl lauten:

sudo keytool -import -alias myssl -file /root/capub.crt -keystore $JAVA_HOME/jre/lib/security/cacerts

Ggf. müssen Sie hier das Passwort des keystore eingeben (Standard wenn nicht verändert: changeit) . Danach kommt die Sicherheitsabfrage

Diesem Zertifikat vertrauen? [Nein]:   Ja

Zertifikat wurde zu Keystore hinzugefügt.

Wenn Sie für Tomcat einen speziellen Truststore definieren, z.B. durch den Tomcat Start Parameter

-Djavax.net.ssl.trustStore=/usr/local/tomcat/conf/cacerts

dann müssen Sie den Zielpfad für den Import entsprechend anpassen:

  sudo keytool -import -alias myssl -file /root/capub.crt -keystore /usr/local/tomcat/conf/cacerts

In der HISinOne-BI kann der TrustStore in der globalen Konfiguration im Parameter KEYSTORE=... gesetzt werden. Das Vorgehen wäre hier analog.

Achtung: Wenn Sie eine eigene Datei als keystore nutzen wollen, gibt es in manchen Tomcat/Java Konstellationen Probleme, z.B. bei Tomcat 7.0.22 und jdk1.7.0_51. Verwenden Sie in diesem Falle besser den Default ($JAVA_HOME/jre/lib/security/cacerts ).

Falls Sie das Zertifikat des Ziel-Server s nicht zur Hand haben, können Sie es auch direkt herunterladen . Gehen Sie im Browser auf die entsprechende URL und klicken Sie vor der URL auf das Schlüsselsymbol. Dort gehen Sie auf "Zertifikat anzeigen" -> Details. Je nach Browser/Version heißen die Menüpunkte unterscheidlich. Bei der Detailansicht des Zertifikats gibt es einen "Exportieren" Button. Hier ein Beispiel für Firefox:

 

  Die Zieldatei bekommt eine Endung "*.crt".

Alternativ geht auch die Linux Kommandozeile:

  openssl s_client -connect meinserver.de:443 -servername meinserver.de:443 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > meinserver.de.crt

 

Falls Das Zertifikat in x509 format benötigt wird, bitte folgenden Befehl verwenden:

openssl x509 -in <(openssl s_client -connect ads.hs-karlsruhe.de:636 -prexit 2>/dev/null) > my-ca.crt

 

Danach können Sie das Zertifikat importieren mit

$JAVA_HOME/bin/keytool -importcert -alias myssl -keystore $JAVA_HOME/jre/lib/security/cacerts -trustcacerts -file ./my-ca.crt  

Der Befehl keytool ist recht flexibel, man kann damit auch Zertifikate anschauen ( -list ) oder löschen ( -delete ). Details liefert die Ausgabe von keytool -help .


Druckversion HTML

Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 116 / 386
Letzter Update: 11.7.2023
Impressum| Datenschutz