Cisco SG300 und SG350: SSL-Zertifikat erfolgreich importieren

André Stuhr
André Stuhr

IT-Experte und Microsoft-Spezialist

Wer auf einem Cisco SG300 oder SG350 ein eigenes HTTPS-Zertifikat importieren möchte, erhält häufig kryptische Fehlermeldungen wie „Key header is missing“ oder „Failed to load public key“. Besonders beim Einsatz von Zertifikaten aus Microsoft AD CS oder einer internen PKI scheitert der Import oft trotz technisch korrekter Zertifikate. Ursache sind meist nicht die Zertifikate selbst, sondern spezielle Formatanforderungen der Cisco Small Business Switches.

Typische Fehlermeldungen sind:

Key header is missing
Wrong public key header format
Failed to load public key
Request is not authenticated

In den meisten Fällen liegt die Ursache nicht am Zertifikat selbst, sondern an der Art des Exports, der Schlüsselkonvertierung oder an einer nicht unterstützten Schlüssellänge.

Dieser Beitrag zeigt eine funktionierende Vorgehensweise für den Import eines eigenen HTTPS-Zertifikats auf Cisco SG300- und SG350-Switches.

Warum schlägt der Zertifikatsimport häufig fehl?

Cisco Small Business Switches stellen beim Zertifikatsimport höhere Anforderungen als viele andere Netzwerkgeräte.

Detaillierte Informationen zu den Cisco Small Business Switches sowie Firmware-Downloads sind auf der offiziellen Cisco-Webseite verfügbar: Cisco.com

Folgende Voraussetzungen sollten erfüllt sein:

  • RSA 2048 Bit
  • SHA256
  • PEM-Format
  • Separater öffentlicher Schlüssel
  • Separater privater Schlüssel
  • RSA Private Key im klassischen PKCS#1-Format
  • Keine zusätzlichen Metadaten vor den PEM-Headern

Besonders RSA-4096-Zertifikate führen bei vielen Geräten dieser Serie zu Problemen.

Cisco SG300 Zertifikat importieren: Voraussetzungen

Benötigt werden:

  • OpenSSL
  • Eine exportierte PFX-Datei
  • Zugriff auf die Weboberfläche des Switches

Eine Windows-kompatible OpenSSL-Installation wird von Shining Light Productions bereitgestellt.

Die Installation der Windows-kompatiblen OpenSSL Version ist hier im Detail beschrieben.

Offizielle OpenSSL-Installationen werden durch OpenSSL-Library.org bereitgestellt.

Im Beispiel wird folgende Datei verwendet:

switch.pfx

Cisco SG300 Zertifikat importieren: Zertifikat aus der PFX-Datei exportieren

Zertifikat exportieren

openssl pkcs12 -in switch.pfx -clcerts -nokeys -out switch.crt -passin pass:Kennwort123

Privaten Schlüssel exportieren

openssl pkcs12 -in switch.pfx -nocerts -nodes -out private.key -passin pass:Kennwort123

Privaten Schlüssel in Cisco-kompatibles Format umwandeln

Cisco SG300 und SG350 erwarten den privaten Schlüssel im klassischen RSA-Format.

openssl rsa -in private.key -traditional -out private-rsa.key

Öffentlichen Schlüssel erzeugen

Zusätzlich wird ein separater öffentlicher Schlüssel benötigt.

openssl rsa -in private-rsa.key -RSAPublicKey_out -out public.key

Zertifikat bereinigen

Beim Export aus einer PFX-Datei werden häufig zusätzliche Informationen ausgegeben:

Bag Attributes
friendlyName
subject
issuer

Diese Informationen führen regelmäßig zu Importfehlern.

Deshalb sollte eine bereinigte Zertifikatsdatei erstellt werden:

openssl x509 -in switch.crt -out switch-clean.crt

Privaten Schlüssel bereinigen

openssl rsa -in private-rsa.key -traditional -out private-clean.key

Zertifikatsdateien prüfen

Vor dem Import sollten die Header überprüft werden.

Zertifikat

findstr "BEGIN" switch-clean.crt

Erwartete Ausgabe:

-----BEGIN CERTIFICATE-----

Öffentlicher Schlüssel

findstr "BEGIN" public.key

Erwartete Ausgabe:

-----BEGIN RSA PUBLIC KEY-----

Privater Schlüssel

findstr "BEGIN" private-clean.key

Erwartete Ausgabe:

-----BEGIN RSA PRIVATE KEY-----

Inhalte für den Import anzeigen

Zur Kontrolle oder zum Kopieren in die Weboberfläche können die Dateiinhalte direkt angezeigt werden.

Zertifikat

more switch-clean.crt

Öffentlicher Schlüssel

more public.key

Privater Schlüssel

more private-clean.key

Cisco SG300 Zertifikat importieren: Zertifikat auf dem Switch importieren

In der Weboberfläche zu folgendem Menü navigieren:

(Advanced / Erweiterte Ansicht zuvor aktivieren)

Security
→ SSL Server
→ SSL Server Authentication

Anschließend eine Zertifikats-ID auswählen:

Certificate ID 1

oder

Certificate ID 2

RSA-Schlüsselpaar aktivieren

Die Option aktivieren:

Import RSA Key-Pair
Enable

Zertifikat einfügen

In das Feld Certificate den Inhalt von

switch-clean.crt

einfügen.

Öffentlichen Schlüssel einfügen

In das Feld Public Key den Inhalt von

public.key

einfügen.

Privaten Schlüssel einfügen

Im Bereich Private Key die Option

Plaintext

auswählen.

Anschließend den Inhalt von

private-clean.key

einfügen.

Zertifikat Import - Cisco Small Business Switch

Import starten

Apply

anklicken.

Zertifikat Aktivierung - Cisco Small Business Switch

Nach erfolgreichem Import erscheint in der Zertifikatsübersicht üblicherweise:

Certificate Source: User Defined
Zertifikat Ergebnis - Cisco Small Business Switch

Konfiguration dauerhaft speichern

Damit das Zertifikat auch nach einem Neustart erhalten bleibt:

Administration
→ File Management
→ Copy/Save Configuration

Cisco SG300 Zertifikat importieren: Häufige Fehlermeldungen

Key header is missing

Ursache:

  • Zusätzliche Informationen vor dem PEM-Header
  • Nicht bereinigte Zertifikatsdatei

Lösung:

openssl x509 -in switch.crt -out switch-clean.crt

Wrong public key header format

Ursache:

Der öffentliche Schlüssel besitzt einen falschen Header.

Falsch:

-----BEGIN PUBLIC KEY-----

Richtig:

-----BEGIN RSA PUBLIC KEY-----

Failed to load public key

Ursache:

Der öffentliche Schlüssel passt nicht zum privaten Schlüssel.

Lösung:

openssl rsa -in private-rsa.key -RSAPublicKey_out -out public.key

Request is not authenticated

Ursache:

  • Browser-Session abgelaufen
  • Session-Timeout der Weboberfläche
  • Firmware-Eigenheiten älterer Geräte

Lösung:

  • Browser schließen
  • Neu anmelden
  • Zertifikat erneut importieren

Zertifikat wird weiterhin nicht akzeptiert

Die verwendete Schlüssellänge prüfen:

openssl x509 -in switch-clean.crt -text -noout | findstr "Public-Key"

Empfohlen:

Public-Key: (2048 bit)

In Praxistests erwies sich RSA 2048 Bit als die kompatibelste Variante für die SG300- und SG350-Serie.

Fazit

Der Import eines SSL-Zertifikats auf Cisco SG300- und SG350-Switches scheitert meist nicht am Zertifikat selbst, sondern an Formatierungsdetails der exportierten Dateien. Besonders wichtig sind bereinigte PEM-Dateien, ein separater RSA Public Key sowie die Verwendung eines RSA-2048-Zertifikats.

Mit den gezeigten OpenSSL-Befehlen lässt sich ein vorhandenes PFX-Zertifikat zuverlässig für den Einsatz auf Cisco Small Business Switches vorbereiten und erfolgreich importieren.

Häufig gestellte Fragen

Cisco SG300- und SG350-Switches erwarten Zertifikate im PEM-Format. Für den HTTPS-Webserver werden neben dem eigentlichen Zertifikat auch ein separater RSA Public Key und ein RSA Private Key benötigt. PFX-Dateien können nicht direkt importiert werden und müssen zuvor mit OpenSSL in die erforderlichen Einzeldateien aufgeteilt werden.

Diese Fehlermeldung tritt meist auf, wenn die Zertifikats- oder Schlüsseldateien zusätzliche Informationen vor dem eigentlichen PEM-Header enthalten. Dazu gehören beispielsweise „Bag Attributes“, „Friendly Name“, „Subject“ oder „Issuer“. Die Datei muss direkt mit einem gültigen PEM-Header beginnen, beispielsweise:

—–BEGIN CERTIFICATE—–

oder

—–BEGIN RSA PRIVATE KEY—–

Technisch unterstützen moderne Zertifikate RSA-Schlüssel mit 4096 Bit. In der Praxis zeigen Cisco SG300- und SG350-Switches jedoch häufig Probleme beim Import solcher Zertifikate. Für maximale Kompatibilität empfiehlt sich die Verwendung eines Zertifikats mit RSA 2048 Bit und SHA256.

Im Gegensatz zu vielen anderen Netzwerkgeräten verlangen Cisco Small Business Switches den Import eines separaten öffentlichen RSA-Schlüssels. Dieser muss aus dem privaten Schlüssel erzeugt werden und den folgenden Header besitzen:

—–BEGIN RSA PUBLIC KEY—–

Ein öffentlicher Schlüssel mit dem Header

—–BEGIN PUBLIC KEY—–

wird häufig nicht akzeptiert.

Nein, sofern die Konfiguration nach dem Import nicht gespeichert wird. Nach erfolgreichem Zertifikatsimport sollte die laufende Konfiguration dauerhaft gesichert werden. Dies erfolgt über die Weboberfläche unter:

Administration
→ File Management
→ Copy/Save Configuration

oder alternativ per CLI:

copy running-config startup-config

Andernfalls kann das importierte Zertifikat nach einem Neustart verloren gehen.