bg-tutorials

Wie man ein CSR auf JBoss-Servern generiert

Dieses Tutorial zeigt Ihnen wie Sie einen CSR (Certificate Signing Request) auf JBoss EAP und WildFly generieren, mit dem Java-Tool keytool. Der Ablauf besteht aus zwei Befehlen: Zuerst erstellt keytool -genkeypair einen Keystore und einen privaten Schlüssel unter einem gewählten Alias, dann exportiert keytool -certreq den passenden CSR mit den Subject Alternative Names, die die CA ausstellen wird. Derselbe Alias wird später wiederverwendet, wenn Sie das signierte Zertifikat importieren, sodass der Schlüssel, der CSR und das spätere Zertifikat alle an einem Ort liegen.

Hinweis zu Versionen: Das moderne JBoss ist Red Hat JBoss Enterprise Application Platform (EAP) 8, veröffentlicht im Februar 2024 und basierend auf dem Upstream-Projekt WildFly (WildFly 41, veröffentlicht im Juli 2026, ist die aktuelle Community-Version). Beide leiten HTTPS über das elytron-Subsystem und den Undertow-https-listener; die ältere Tomcat- oder Jetty-Connector-Konfiguration aus veralteten Anleitungen gilt nicht mehr. Der CSR-Schritt selbst ist jedoch bei allen aktuellen Versionen identisch, da es sich um eine reine Java-keytool-Operation handelt.

Was Sie benötigen

  • Eine Java-Installation (JDK oder JRE), damit der Befehl keytool verfügbar ist. JBoss EAP 8.0 läuft auf Java 11 (veraltet) oder 17, EAP 8.1 fügt Java 21 hinzu, und WildFly 41 läuft auf Java 17, 21 oder 25 (Java 11 wird upstream nicht mehr unterstützt). Bestätigen Sie dies mit keytool -help.
  • Shell- oder Terminalzugriff auf dem JBoss-Server, der den privaten Schlüssel hosten wird. Der private Schlüssel muss auf diesem Server verbleiben.
  • Der genaue vollqualifizierte Domainname (FQDN), den Sie sichern möchten, zum Beispiel www.ihredomain.de, sowie alle zusätzlichen Hostnamen, die im SAN-Feld abgedeckt werden sollen.
  • Die rechtlichen Details Ihrer Organisation (Land, Bundesland, Ort, Organisationsname) für den Distinguished Name des CSR.

Schritt 1: Keystore und privaten Schlüssel erstellen

Falls Sie Ihren CSR bereits generiert haben, springen Sie vor zu CSR einreichen und dann zu SSL-Zertifikat auf JBoss installieren.

Öffnen Sie ein Terminal auf dem JBoss-Server und erstellen Sie einen neuen Keystore im Format PKCS12. PKCS12 ist der moderne, portable Standard (RFC 7292) und ist seit JDK 9 das Standard-Keystore-Format in Java; das ältere, proprietäre JKS-Format ist veraltet. Führen Sie aus:

keytool -genkeypair 
  -alias jboss 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -validity 825

Bedeutung der Flags:

  • -alias jboss: der Eintragsname innerhalb des Keystores. Wählen Sie eine Bezeichnung, die Sie wiedererkennen (oft jboss, server oder Ihre Domain). Notieren Sie sich diese. Sie müssen genau diesen Alias erneut verwenden, wenn Sie den CSR generieren und wenn Sie das signierte Zertifikat importieren. Einen anderen Alias beim Import zu verwenden, ist der häufigste keytool-Fehler.
  • -keyalg RSA -keysize 2048: ein 2048-Bit-RSA-Schlüssel ist das aktuelle öffentliche Minimum. Für neue Keystores, die Sie mehrere Jahre lang behalten möchten, ist 3072 Bit ein sinnvolles Upgrade. Die meisten öffentlichen CAs akzeptieren auch ECDSA (-keyalg EC -groupname secp256r1), wenn Sie einen kleineren, schnelleren Schlüssel bevorzugen. Die Option -groupname erfordert JDK 13 oder höher; unter Java 11 verwenden Sie stattdessen -keyalg EC -keysize 256, was dieselbe secp256r1-Kurve auswählt. keytool lehnt beide Optionen im selben Befehl ab.
  • -storetype PKCS12: erzwingt den modernen PKCS12-Keystore. Die passende Dateiendung ist .p12 (oder .pfx).
  • -keystore yourdomain.p12: die zu erstellende Keystore-Datei. Ersetzen Sie den Namen durch etwas, das Sie wiedererkennen, und bewahren Sie diese Datei sicher auf; sie enthält Ihren privaten Schlüssel.
  • -validity 825: wie lange das selbstsignierte Platzhalterzertifikat im Keystore gültig ist. Das signierte Zertifikat der CA ersetzt es später, sodass der genaue Wert die Produktionslaufzeit nicht beeinflusst.

keytool fragt anschließend nach einem Keystore-Passwort. Wählen Sie ein starkes Passwort und speichern Sie es in Ihrem Passwortmanager: Sie benötigen es für jeden weiteren keytool-Befehl und für die Elytron-credential-reference, die Sie in JBoss konfigurieren werden. Bei PKCS12-Keystores entspricht das Schlüsselpasswort dem Keystore-Passwort, sodass Sie sich nur ein Passwort merken müssen.

Schritt 2: Organisationsdaten eingeben (DN)

keytool fragt nun nach dem Distinguished Name (DN): den Identitätsfeldern, die in den CSR einfließen. Beantworten Sie jede Eingabeaufforderung mit dem exakten, rechtsgültigen Wert für Ihre Organisation. Zeichensetzung und Genauigkeit sind wichtig, da eine CA Abweichungen von öffentlichen Unternehmensregistern ablehnt.

  • Vor- und Nachname (CN): Dies ist der Wortlaut von keytool, es handelt sich jedoch um das Common-Name-Feld. Geben Sie den exakten FQDN ein, den Sie sichern, zum Beispiel www.ihredomain.de, oder einen Wildcard wie *.ihredomain.de. Geben Sie keinen Personennamen ein.
  • Organisationseinheit (OU): Dieses Feld wird von öffentlichen CAs nicht mehr ausgestellt und sollte am besten weggelassen werden. Beachten Sie, dass das Drücken der Eingabetaste das Feld nicht leer lässt: keytool setzt einen eigenen Standardwert ein, sodass der DN am Ende OU=Unknown enthält, was dann in den CSR übernommen wird. Um das Feld tatsächlich wegzulassen, verwenden Sie die nicht-interaktive Form mit -dname unten und lassen Sie OU aus dem String weg.
  • Organisation (O): der vollständige rechtliche Name Ihres Unternehmens, zum Beispiel Ihre Firma GmbH. OV- und EV-Zertifikate erfordern dies; bei DV-Zertifikaten akzeptieren viele CAs es als informativ, daher ist es sicherer, es auszufüllen, als es leer zu lassen.
  • Stadt oder Ort (L): der vollständige Stadtname, zum Beispiel München. Nicht abkürzen.
  • Bundesland oder Provinz (ST): der vollständige Name des Bundeslands oder der Provinz, zum Beispiel Bayern. Verwenden Sie keinen zweistelligen Code.
  • Ländercode (C): der zweistellige ISO-Ländercode, zum Beispiel US, GB, DE.

Nach der letzten Eingabeaufforderung zeigt keytool eine Zusammenfassung wie CN=www.ihredomain.de, OU=Unknown, O=Ihre Firma GmbH, L=München, ST=Bayern, C=DE. Geben Sie yes ein, um zu bestätigen. Die Keystore-Datei existiert nun mit einem Eintrag: Ihrem Alias, der den privaten Schlüssel und ein selbstsigniertes Platzhalterzertifikat enthält.

Wenn Sie einen nicht-interaktiven Befehl bevorzugen, übergeben Sie den DN direkt und überspringen Sie die Eingabeaufforderungen:

keytool -genkeypair 
  -alias jboss 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -dname "CN=www.yourdomain.com, O=Your Company LLC, L=San Jose, ST=California, C=US" 
  -validity 825

Schritt 3: CSR mit SAN generieren

Moderne Browser und TLS-Clients validieren Zertifikate anhand der Erweiterung Subject Alternative Name (SAN) und nicht mehr allein anhand des Common Name. Fordern Sie die SANs direkt im CSR an, damit die CA sie in das ausgestellte Zertifikat aufnimmt. Verwenden Sie denselben Alias und Keystore wie in Schritt 1:

keytool -certreq 
  -alias jboss 
  -keystore yourdomain.p12 
  -file yourdomain.csr 
  -ext san=dns:yourdomain.com,dns:www.yourdomain.com

Bedeutung der Flags:

  • -alias jboss: muss dem Alias aus Schritt 1 entsprechen. Dies ist der Alias, dessen privater Schlüssel die Anforderung signiert.
  • -keystore yourdomain.p12: muss dem Keystore aus Schritt 1 entsprechen.
  • -file yourdomain.csr: der Ausgabedateiname für den CSR.
  • -ext san=dns:…: die Erweiterung Subject Alternative Name. Listen Sie jeden Hostnamen auf, den das Zertifikat abdecken muss, einschließlich sowohl der Hauptdomain (yourdomain.com) als auch der www-Subdomain. Fügen Sie weitere Einträge durch Kommas getrennt hinzu, zum Beispiel dns:api.yourdomain.com.

keytool fragt nach dem Keystore-Passwort und schreibt den CSR in die Datei yourdomain.csr im aktuellen Verzeichnis.

Wichtig: Alias und Keystore aufbewahren

Der häufigste keytool-Fehler bei JBoss ist der Import des signierten Zertifikats unter einem neuen Alias. Dadurch wird das Zertifikat als eigenständiger vertrauenswürdiger Eintrag ohne zugehörigen privaten Schlüssel gespeichert, und der Elytron-Key-Manager kann keine TLS-Sitzung starten. Importieren Sie die signierte Antwort immer wieder in denselben Alias, der den privaten Schlüssel enthält (den Alias aus Schritt 1).

Notieren Sie sich jetzt diese drei Werte, bevor Sie das Terminal schließen:

  • Den Alias (in dieser Anleitung jboss).
  • Den Keystore-Dateipfad (zum Beispiel yourdomain.p12; auf JBoss liegt dieser typischerweise in $JBOSS_HOME/standalone/configuration/).
  • Das Keystore-Passwort.

Wenn Sie sich nicht sicher sind, welcher Alias Ihren Schlüssel enthält, listen Sie den Inhalt des Keystores auf und suchen Sie den Eintrag, dessen Typ PrivateKeyEntry lautet:

keytool -list -v -keystore yourdomain.p12

Schritt 4: CSR vor dem Einreichen überprüfen

Erkennen Sie Tippfehler im DN oder fehlende SANs, bevor die CA sie validiert. Geben Sie den CSR mit keytool aus:

keytool -printcertreq -file yourdomain.csr

Oder, falls OpenSSL installiert ist, können Sie es stattdessen verwenden:

openssl req -noout -text -in yourdomain.csr

Prüfen Sie in der Ausgabe drei Dinge: Der Subject zeigt Ihren exakten DN, der Subject Alternative Name listet jeden benötigten Hostnamen auf, und die Public-Key-Größe entspricht dem, was Sie angefordert haben (2048-Bit-RSA oder was auch immer Sie gewählt haben). Sie können den CSR auch in unseren CSR-Decoder einfügen, um dieselbe Prüfung im Browser durchzuführen.

Schritt 5: CSR bei Ihrer Zertifizierungsstelle einreichen

Öffnen Sie yourdomain.csr in einem beliebigen Texteditor. Die Datei ist einfacher Text, der mit -----BEGIN NEW CERTIFICATE REQUEST----- beginnt und mit -----END NEW CERTIFICATE REQUEST----- endet. Das Wort NEW wird von keytool geschrieben, und das ist zu erwarten: Der Inhalt ist eine standardmäßige PKCS#10-Anforderung, die jede CA akzeptiert. Kopieren Sie den gesamten Block, einschließlich dieser Kopf- und Fußzeilen, und fügen Sie ihn beim Checkout bei Ihrer CA in das CSR-Feld ein. Unter Windows verwenden Sie Strg + A und dann Strg + C, um den vollständigen Text zu erfassen; unter macOS verwenden Sie Cmd + A und dann Cmd + C.

Sichern Sie die Keystore-Datei, bevor Sie etwas anderes tun. Wenn Sie yourdomain.p12 verlieren, verlieren Sie auch den privaten Schlüssel, was bedeutet, dass das von der CA zurückgegebene signierte Zertifikat unbrauchbar sein wird und Sie mit einem neuen CSR von vorne beginnen müssen.

Nachdem die CA Ihre Anforderung validiert und das Zertifikat ausgestellt hat, fahren Sie fort mit SSL-Zertifikat auf JBoss installieren. Sie werden das signierte Zertifikat wieder in denselben Alias im selben Keystore importieren und dann diesen Keystore aus einem Elytron-key-store, key-manager und server-ssl-context referenzieren, der mit dem Undertow-https-listener verbunden ist.

Kann ich einen CSR für eine Verlängerung wiederverwenden?

Das können Sie, aber die bewährte Sicherheitspraxis besteht darin, für jedes Zertifikat einen neuen Keystore, einen neuen privaten Schlüssel und einen neuen CSR zu generieren. Ein neuer Schlüssel für jede Verlängerung begrenzt die Auswirkungen, falls der alte Schlüssel jemals kompromittiert wird, und der Prozess ist derselbe: Führen Sie keytool -genkeypair und keytool -certreq gegen eine neue Keystore-Datei aus. Die Laufzeiten öffentlicher TLS-Zertifikate verkürzen sich zunehmend nach den Regeln des CA/Browser Forums (200 Tage ab dem 15. März 2026, sinkend auf 100 Tage im Jahr 2027 und 47 Tage im Jahr 2029), planen Sie daher häufigere CSR-Zyklen ein oder automatisieren Sie die Ausstellung über ACME, sofern Ihre CA dies unterstützt.

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.