Verwendung von selbstsignierten SSL-Zertifikaten in FirstSpirit

hoebbel
Crownpeak employee
Crownpeak employee
3 2 1,560

Wenn man ein selbstsigniertes SSL-Zertifikat für den https-Connector des FirstSpirit-Server verwenden möchte, oder eines einer zentralen unternehmseigenen Zertifizierungsstelle,welches von Java nicht ohne weiteres akzeptiert wird, so muss man der Java VM, in der der FirstSpirit Client läuft, dieses Zertifikat als vertrauenswürdig bekannt machen.

Folgendes Vorgehen (am Beispiel einer PKCS#12 Datei [.p12]) wurde bereits erfolgreich angewendet:

Sicherheitshalber den entsprechenden truststore (p12 Datei), den man hat, prüfen, ob dieser auch tatsächlich das entsprechende Zertifikat enthält:

keytool –list -v -keystore <PFAD inkl. Name der p12 Datei> -storetype pkcs12 -storepass <Pass der Datei>

Wenn das Zertifikat enthalten ist, muss man nur noch diese p12 Datei der Java VM entsprechend übergeben. Hierzu müssen die folgenden Startoptionen beim Aufruf des Clients übergeben werden:

javax.net.ssl.trustStore=<lokaler Pfad zur p12 Datei>;javax.net.ssl.trustStorePassword=<Passwort der p12 Datei>;javax.net.ssl.trustStoreType=PKCS12

Da dies alle Clients betrifft, sollte dies idealerweise global für den Server konfiguriert werden:

- Öffnen Sie die Server- und Projektkonfiguration

- Öffnen Sie die Server/Eigenschaften

- Wechseln Sie zu Webstart

- Tragen Sie die Parameter unter Zusätzliche Parameter (optional) ein

- wechseln Sie zu Startseite und tragen Sie dort bei allen JavaClient Links ebenfalls die Parameter ein

Wenn ein Benutzer persönliche Verbindungseinstellungen auf der Startseite benutzt, so muss er dort die parameter ebenfalls eintragen.

Tags (3)
2 Comments
AndreasOesterle
I'm new here

Hallo Holger,

danke für deinen Eintrag.

Wir haben bei einem Kunden ein ähnliches Szenario. Wir betreiben den Redaktionsserver hinter einem Proxy über HTTPS. Die Kommunikation des Proxys zum FirstSpirit Server läuft aber über http.

Ich habe die Kunden Stammzertifizierungsstelle in den fs-keystore.jks importiert und kann über den list Befehl auch sehen, dass das Zertifikat enthalten ist.

Wenn ich dich jetzt richtig verstanden habe, dann muss ich auch selber von Hand diese Datei jedem Redakteur auf den Desktop Rechner legen bevor er den JAVAClient über HTTPS starten kann.

In den Verbindungeinstellungen des Benutzers habe ich dann eingetragen:

javax.net.ssl.trustStore=C:/fs-keystore.jks;

javax.net.ssl.trustStorePassword=changeit

Du hast es oben anhand eines p12 keystores beschrieben. Laut eurer Admin Doku (4.7.1 Sicherheitszertifikat für einen Testserver installieren) müsste es aber auch mit einer jks Datei gehen.

Wenn ich den JAVAClient versuche zu verbinden erhalte ich aber leider die Meldung:

Connection problem: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

Folgende Fragen habe ich:

Ist es wirklich notwendig auf jedem einzelnen Desktop PC das Keystore File zu hinterlegen?

Was fehlt in meiner Konfiguration noch?


Besten Dank

jpee
I'm new here

Hallo,

hat alles super geklappt.

Man kann die p12 Datei auch von einem Share-Laufwerk beziehen, so könnte man die Ablage auf jedem Client umgehen.

Viele Grüße

Johannes

Version history
Last update:
‎04-18-2013 04:17 AM
Updated by: