Allgemein - Kommbox- bzw. TCMS Webserver Zertifikat austauschen

Last modified by Tobias Wintrich on 2022/11/28 11:29

Das auf einem RangeeOS (mit oder ohne TCMS) verwendete Webserver Zertifikat kann bei Bedarf ausgetauscht werden. Hierzu gibt es grundsätzlich 2 Möglichkeiten:

  1. Es kann auf dem Client eine Zertifikatsanforderungsdatei verwendet und extern signiert werden
  2. Es kann ein vollständig extern generiertes Zertifikat verwendet werden

In beiden Fällen muss das Zertifikat anschließend in die Passende Form (Base64-codierte) gebracht werden.

Die in dieser Anleitung verwendeten "openssl" Befehle können generell auf jedem PC mit installiertem openssl ausgeführt werden. Sie können, müssen aber nicht auf Thin Client Seite ausgeführt werden. Wenn Sie die Befehle direkt auf dem RangeeOS ausführen möchten, benötigen Sie entsprechenden Root Zugriff und Tools für den Dateitransfer zum und vom Thin Client.

  • Root-Terminal-Passwort | Es wird empfohlen zur potentiellen Fehlerbehandlung ein eigenes, feste Passwort für den Benutzer zu setzen
  • Z.B.: WinSCP für den Dateitransfer von Windows zu RangeeOS

In dieser Anleitung werden die Schritte für ein direktes Ausführen der Befehle auf RangeeOS Seite beschrieben.

Zertifikatsanforderungsdatei erstellen

  1. Melden Sie sich als Benutzer "admin" am Client über ein Terminal ( STRG + SHIFT + ALT + T ) oder eine SSH Verbindung am RangeeOS an
  2. Passen Sie die Parameter des folgendes Befehls nach Ihren Anforderungen an und führen Sie Ihn auf dem Gerät aus:openssl req -newkey rsa:4096 -sha256 -keyout key.pem -out req.pem \
    -subj "/C=DE/ST=Bundesland/L=Stadt/O=Einrichtung/OU=Abteilung/OU=Team/CN=<FQDN>" \
    -addext "subjectAltName = DNS:<DNS>,IP:<IP>"
    • C/ST/L/O/OU
      Optional und Frei wählbar
    • <FQDN>:
      der Hostname unter dem das RangeeOS später angesprochen werden soll
    • <DNS>:
      Hostname des TCMS für die das Zertifikat gültig sein soll.
    • <IP>:
      Optional. IP des TCMS für die das Zertifikat gültig sein soll. Wenn die IP nicht Teil des Zertifikats sein soll entfernen Sie den entsprechenden Bereich
    • Beispiel eines vollständigen Befehls:
      openssl req -newkey rsa:4096 -sha256 -keyout key.pem -out req.pem \
      -subj "/C=DE/ST=NRW/L=Aachen/O=Rangee/OU=Support/OU=Zertifikatstest/CN=tc-b0416f05c363.rangee.local" \
      -addext "subjectAltName = DNS:tc-b0416f05c363.rangee.local,IP:192.168.50.29"
  3. Vergeben Sie nach Absenden des Befehls ein Kennwort für Ihren Private Key (min. 4 Zeichen)
  4. Da der Private Key für das Serverzertifikat ohne Passwort benötigt wird, müssen Sie das Passwort anschließend mit diesem Befehl entfernen:
    openssl rsa -in key.pem -out key.pem
  5. Verbinden Sie sich mit "WinSCP" und den "admin" Zugangsdaten zum Client und laden Sie die Anforderungsdatei "/tmp/req.pem" und "/tmp/key.pem" herunter.
  6. Reichen Sie die Datei req.pem bei einer beliebigen Zertifizierungsstelle ein. Wenn Sie die Option haben, lassen Sie sich hier direkt ein Base64 codiertes Zertifikat erstellen. Sobald Sie das Zertifikat haben, fahren Sie mit dem nächsten Schritt fort.

Importieren eines Zertifikats

Zum importieren des Zertifikats müssen Ihnen sowohl der Private Key und das Ausgestellte Serverzertifikat Base64 codiert vorliegen:

  • Falls Sie beides in Form einer kombinierten PFX-Datei haben, müssen Sie die beiden Komponenten zunächst trennen. Hierzu können Sie z.B.: folgende Befehle verwenden:
    sudo openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes # Exportiert den Private Key
    sudo openssl pkcs12 -in certname.pfx -nokeys -out cert.pem # Exportiert das Zertifikat
    openssl rsa -in key.pem -out key.pem # entfernt das Passwort vom Private Key
  • Prüfen Sie ob Ihr Zertifikat im Bas64 Format vorliegt. Öffnen Sie es hierzu mit einem beliebigen Text Editor. Das Zertifikat sollte in dieser Form vorliegen:
    -----BEGIN CERTIFICATE-----
    []
    -----END CERTIFICATE-----

    Insofern das Zertifikat nicht entsprechend codiert ist, können Sie es über diesen Befehl konvertieren:
    openssl x509 -inform der -in certname.cer -out certname.pem

Lieg Ihnen das Zertifikat und der Private Key in passender Form vor, schreiben Sie den Inhalt beider Zertifikate untereinander in eine Datei "Server.pem" und speichern Sie sie ab:
-----BEGIN RSA PRIVATE KEY-----
[]
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
[]
-----END CERTIFICATE-----

Zertifikat hochladen

Das fertige Zertifikat können Sie über die Kommbox unter Remote-Administration -> "Gerätezertifikat hochladen" hochladen. Anschließend ist ein Neustart des RangeeOS notwendig.

Nach dem Neustart wird Ihnen im Browser das Zertifikat als gültig angezeigt.

zert01.png

image-20221128112923-1.png

Fehlerbehandlung

Wurde das Zertifikat erfolgreich importiert und die Kommbox startet anschließend nicht mehr, können Sie sich über das Terminal / SSH ein neues selbstsigniertes Zertifikat erstellen lassen.

Fehlermeldung auslesen

Melden Sie sich auf dem Client an und führen Sie diesen Befehl aus:

sudo /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Notieren Sie sich die Ausgabe und senden Sie uns an unseren Support

Zertifikat neu generieren

Führen Sie zum neu generieren diesen Befehl aus:

sudo rangee system:certificate:generate -f

Nach einem erneuten Neustart ist die Kommbox wieder erreichbar.

 
Rangee GmbH ©2022