bg-tutorials

So installieren Sie ein SSL-Zertifikat auf GlassFish

In diesem Tutorial erfahren Sie, wie Sie ein SSL-Zertifikat auf GlassFish installieren (jetzt Eclipse GlassFish), mit dem Java-Tool keytool und der asadmin-Befehlszeile.

CSR-Code für GlassFish erstellen

Der erste Schritt bei der Bestellung eines SSL-Zertifikats besteht darin, einen CSR (Certificate Signing Request) zu erstellen und ihn an Ihre Zertifizierungsstelle (Ihren SSL-Anbieter) zu senden. Der CSR ist ein Textblock mit Details zu Ihrer Website und Organisation. Die CA verwendet ihn, um Ihre Identität zu überprüfen. Enthält der CSR falsche oder veraltete Angaben, wird die CA Ihr Zertifikat nicht signieren.

Auf GlassFish wird der CSR mit keytool aus einem Java-Keystore generiert, und genau dieser Keystore enthält den privaten Schlüssel, den Sie bei der Installation wiederverwenden. Sie haben zwei Möglichkeiten:

Sie können Ihre CSR-Datei mit einem beliebigen Texteditor öffnen (zum Beispiel Notepad). Bevor Sie sie an Ihre CA senden, empfehlen wir eine abschließende Prüfung auf Tippfehler oder Fehler. Verwenden Sie unser CSR-Decoder-Tool, um sie zu überprüfen.

Je nach Validierungsart Ihres Zertifikats dauert die Ausstellung von wenigen Minuten bis zu ein paar Werktagen. Sobald die SSL-Dateien in Ihrem Posteingang eingehen, fahren Sie mit der Installation unten fort.

SSL-Zertifikat auf GlassFish installieren

Die zentrale Idee bei einer GlassFish-Installation ist, dass Ihr signiertes Zertifikat letztlich mit dem privaten Schlüssel verbunden sein muss, der bei der Erstellung Ihres CSR erzeugt wurde. Dies erreichen Sie, indem Sie die Zertifikatskette und das signierte Zertifikat in denselben Keystore importieren, der bereits diesen Schlüssel enthält, also denselben, den Sie zur Erstellung des CSR verwendet haben.

Schritt 1: Zertifikatsdateien extrahieren

Ihre CA sendet das Zertifikat per E-Mail an die von Ihnen angegebene Adresse, meist als ZIP-Archiv. Entpacken Sie es. Die Dateien liegen in einem von zwei Formaten vor:

  • PEM: separate Dateien, typischerweise eine .crt-Datei (Ihr Serverzertifikat) und eine .ca-bundle-Datei (die Root- und Zwischenzertifikate).
  • PKCS#7: eine einzelne .p7b– (oder .cer-)Datei, die Ihr Zertifikat bereits zusammen mit der vollständigen Kette bündelt.

Schritt 2: SSL-Dateien auf Ihren GlassFish-Server hochladen

Laden Sie die extrahierten Dateien auf den Server, in dasselbe Verzeichnis wie den Keystore, aus dem Sie Ihren CSR generiert haben (im Folgenden als mykeystore.jks bezeichnet). Das PEM-Format erfordert zwei Import-Befehle; PKCS#7 nur einen. Wählen Sie das Format, das zu Ihren Dateien passt.

PEM-Format. Importieren Sie zuerst das CA-Bundle, damit keytool eine vollständige Vertrauenskette aufbauen kann, und importieren Sie anschließend Ihr Serverzertifikat. Importieren Sie das CA-Bundle mit:

keytool -import -trustcacerts -alias ca -file file.ca-bundle -keystore mykeystore.jks

Verwenden Sie für den Alias dieses Ketteneintrags einen beliebigen Namen (hier ca), solange er sich vom Alias Ihres privaten Schlüssels unterscheidet. Importieren Sie anschließend Ihr signiertes Serverzertifikat in den bereits vorhandenen Alias des privaten Schlüssels, also denselben Alias, den Sie bei der CSR-Erstellung verwendet haben:

keytool -import -trustcacerts -alias myalias -file file.crt -keystore mykeystore.jks

Hier muss myalias der Alias sein, der bereits Ihren privaten Schlüssel enthält. Da dieser Alias einen Schlüssel besitzt, behandelt keytool diesen Import als Zertifikatantwort (certificate reply) und verknüpft das signierte Zertifikat mit dem Schlüssel. Dieser Schritt ist es, der HTTPS funktionieren lässt; siehe die Warnung unten.

PKCS#7-Format. Eine .p7b-Datei enthält bereits die vollständige Kette, sodass ein einziger Befehl alles gleichzeitig importiert, ebenfalls in den Alias des privaten Schlüssels:

keytool -import -trustcacerts -alias myalias -file file.p7b -keystore mykeystore.jks

keytool fragt nach Ihrem Keystore-Passwort. Wie oben muss myalias mit Ihrem bestehenden Alias des privaten Schlüssels übereinstimmen. Wenn Sie sich nicht an den Alias erinnern, lassen Sie sich den Inhalt des Keystores anzeigen:

keytool -list -v -keystore mykeystore.jks

Suchen Sie nach dem Eintrag, dessen Typ PrivateKeyEntry lautet; in diesen Alias muss Ihr signiertes Zertifikat importiert werden.

⚠️ Kritische Fehlerquelle: Importieren Sie das signierte Zertifikat nicht unter einem völlig neuen Alias. Verfügt der Alias über keinen vorhandenen privaten Schlüssel, speichert keytool das Zertifikat als eigenständigen vertrauenswürdigen Eintrag ohne zugehörigen Schlüssel, und TLS wird fehlschlagen. Importieren Sie die Antwort stets in den Alias, der bereits den Schlüssel enthält (Standard-Alias in GlassFish: s1as).

Schritt 3: In den Standard-Keystore von GlassFish importieren

Sobald Ihr Zertifikat vorliegt, importieren Sie Ihren Keystore in den Standard-Keystore von GlassFish. Bei einer Standardinstallation befindet sich dieser im Konfigurationsverzeichnis der Domain, zum Beispiel glassfish/domains/domain1/config/keystore.jks (bei älteren GlassFish-4-Builds liegt dieser unter einem übergeordneten Ordner namens glassfish4/). Der zugehörige Truststore heißt cacerts.jks und befindet sich im selben Verzeichnis.

Hinweis: GlassFish erstellt standardmäßig domain1. Wenn Sie eine eigene Domain hinzugefügt haben, verwenden Sie stattdessen deren Verzeichnis.

Importieren Sie Ihren Keystore in den GlassFish-Keystore mit:

keytool -importkeystore -srckeystore mykeystore.jks -destkeystore keystore.jks

Schritt 4: Keystore-Passwörter abgleichen

Das Passwort des GlassFish-Keystores muss mit dem Master-Passwort von GlassFish für die Domain übereinstimmen. Stimmen das Master-Passwort, das Keystore-Passwort und das Passwort des privaten Schlüssels nicht alle überein, kann GlassFish den Schlüssel nicht entschlüsseln, und Ihr SSL-Zertifikat funktioniert nicht. (Bei einer neuen Domain lautet das Standard-Keystore-Passwort changeit.)

Schritt 5: Ihre GlassFish-Konfiguration aktualisieren

Nach einem erfolgreichen Import weisen Sie den HTTPS-Listener von GlassFish auf Ihr Zertifikat, damit er das neue Zertifikat statt des standardmäßig selbstsignierten ausliefert. Dies können Sie über den Browser über die GlassFish-Administrationskonsole tun oder manuell durch Bearbeiten der Datei domain.xml.

Option A: Administrationskonsole. Aktivieren Sie zunächst die sichere Administration für die Domain:

asadmin enable-secure-admin

Starten Sie die GlassFish-Domain neu (der Standard ist domain1), damit die Änderung wirksam wird:

asadmin restart-domain domain1

Öffnen Sie nun die Konsole unter https://yoursite.com:4848. Bestätigen Sie die Warnung wegen des selbstsignierten Zertifikats und fahren Sie fort. Navigieren Sie zu Configurations > server-config > HTTP Service > HTTP Listeners > http-listener-2.

Öffnen Sie den Tab SSL und geben Sie im Feld Certificate Nickname Ihren Zertifikatsalias ein (denselben wie Ihren Keystore-Alias). Wechseln Sie anschließend zum Tab General und ändern Sie den Listener-Port auf 443. GlassFish verwendet standardmäßig 8181 für HTTPS. Speichern Sie Ihre Änderungen.

Gelegentlich wird nicht jeder Konfigurationsverweis in der Konsole auf den neuen Alias aktualisiert. Falls dies vorkommt, schließen Sie die Änderung manuell in domain.xml ab (Option B).

Option B: domain.xml bearbeiten. Die Datei domain.xml befindet sich im gleichen Konfigurationsverzeichnis, zum Beispiel glassfish/domains/domain1/config/domain.xml. Für eine sichere Bearbeitung stoppen Sie zunächst die Domain:

asadmin stop-domain domain1

Öffnen Sie domain.xml in einem Texteditor und verwenden Sie die Suche (Strg+F), um s1as zu finden, den standardmäßigen GlassFish-Zertifikatsalias. Ersetzen Sie jedes Vorkommen von s1as durch Ihren Zertifikatsalias (in diesem Leitfaden myalias). Werden alle Vorkommen aktualisiert, wird auch die Administrationskonsole mit Ihrem Zertifikat abgesichert.

Speichern Sie domain.xml und starten Sie die Domain erneut:

asadmin start-domain domain1

Herzlichen Glückwunsch, Ihr SSL-Zertifikat ist nun auf Ihrem GlassFish-Server installiert.

Ihre SSL-Installation testen

Nach der Installation des Zertifikats führen Sie unseren SSL-Checker aus, um den Status Ihrer Installation zu prüfen. Der sofortige Scan deckt eventuelle Fehler oder Schwachstellen auf (etwa ein fehlendes Zwischenzertifikat oder eine nicht vertrauenswürdige Kette), die beeinflussen könnten, wie Browser Ihr Zertifikat behandeln.

Wo kann man ein SSL-Zertifikat für GlassFish kaufen?

Der beste Ort, um ein SSL-Zertifikat für GlassFish zu kaufen, ist SSL Dragon. Wir bieten einige der niedrigsten Preise auf dem Markt und regelmäßige Rabatte auf unser gesamtes Sortiment an SSL-Produkten, und wir arbeiten mit den besten SSL-Marken der Branche zusammen, um starke Verschlüsselung und engagierten Support zu gewährleisten. Alle unsere SSL-Zertifikate sind mit GlassFish kompatibel.

Um Ihnen die Auswahl zu erleichtern, haben wir zwei kostenlose Tools entwickelt. Unser SSL-Assistent benötigt nur wenige Sekunden, um das beste SSL-Angebot für Ihr Projekt und Budget zu finden.

Häufig gestellte Fragen

Was ist der Standard-Keystore und -Alias auf GlassFish?

Eine GlassFish-Domain wird mit zwei JKS-Dateien in ihrem Konfigurationsverzeichnis ausgeliefert: keystore.jks, die private Schlüssel enthält, und cacerts.jks, den Truststore vertrauenswürdiger CA-Zertifikate. Beide befinden sich standardmäßig unter domains/domain1/config/. Der standardmäßige Zertifikatsalias, den der sichere HTTP-Listener verwendet, ist s1as, und das Standard-Keystore-Passwort lautet changeit.

Warum funktioniert mein GlassFish-SSL-Zertifikat nach dem Import nicht?

Die übliche Ursache ist der Import des signierten Zertifikats unter einem neuen Alias statt unter dem Alias, der bereits Ihren privaten Schlüssel enthält. keytool speichert es dann als vertrauenswürdigen Zertifikatseintrag ohne Schlüssel, sodass GlassFish keinen TLS-Handshake abschließen kann. Importieren Sie die signierte Antwort erneut in den bestehenden Alias des privaten Schlüssels (Standard: s1as). Die zweithäufigste Ursache ist eine Passwortabweichung; Keystore-, Schlüssel- und Domain-Master-Passwort müssen alle identisch sein.

Importiere ich zuerst das CA-Bundle oder das Zertifikat?

Importieren Sie zuerst das CA-Bundle (Root- und Zwischenzertifikate) als vertrauenswürdigen Eintrag. So kann keytool eine vollständige Kette aufbauen, wenn Sie anschließend Ihr signiertes Serverzertifikat in den Alias des privaten Schlüssels importieren. Bei einer PKCS#7-Datei (.p7b) ist die Kette bereits gebündelt, sodass ein einziger Import alles erledigt.

Wie starte ich GlassFish nach Änderung der SSL-Konfiguration neu?

Führen Sie asadmin restart-domain domain1 aus, um Änderungen in einem Schritt anzuwenden, oder stoppen und starten Sie die Domain separat mit asadmin stop-domain domain1 gefolgt von asadmin start-domain domain1. Ein Neustart ist nach dem Aktivieren der sicheren Administration und nach dem Bearbeiten von domain.xml erforderlich.

Welchen Port verwendet GlassFish für HTTPS?

Standardmäßig verwendet der sichere Listener (http-listener-2) Port 8181, und die Administrationskonsole verwendet Port 4848. Um HTTPS auf dem Standardport bereitzustellen, ändern Sie den Listener-Port in der Admin-Konsole oder in domain.xml auf 443.

Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!

Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

A detailed image of a dragon in flight
Geschrieben von

Erfahrener Content-Autor, spezialisiert auf SSL-Zertifikate. Verwandeln Sie komplexe Cybersicherheitsthemen in klare, ansprechende Inhalte. Tragen Sie durch wirkungsvolle Narrative zur Verbesserung der digitalen Sicherheit bei.