Unifi mit SSL-Zertifikat aus interner CA
Nach meinen Problemen meinen Unifi-Controller (unter Ubuntu 20.04) mit einem SSL-Zertifikat auszustatten, möchte ich den Lösungsweg für alle Nachahmer nachstellen:
Nachfolgende Befehle funktionieren nur als sudo:
Den Inhalt des Zertifikates kopieren und die Webseite der Zertifizierungsstelle öffnen (https://Zertifizierung.domain.intern/certsrv)
Hier ein neues Zertifikat anfordern und die gespeicherte Anforderung in das entsprechende Feld kopieren.
ACHTUNG:
Um die zusätzlichen Attribute nutzen zu können muss die CA dafür vorbereitet sein:
Auf der CA ausführen:
HINWEIS:
Diese Funktion kann, wenn sie nicht mehr benötigt wird mit
wieder deaktiviert werden.
Jetzt in den Attributen
eintragen und die Anfrage absenden.
Die Zertifikate jetzt aber nicht über die Webseite, sondern direkt aus der CA herunterladen.
Unifi Zertifikat exportieren:
CA Zertifikat exportieren:
Den im CA-Zertifikat enthaltenen privaten Schlüssel benötigen wir später nicht. Dieser kann später entfernt werden.
Ich habe jedoch festgestellt, dass alle anderen Export-Optionen nicht funktionieren im Zusammenhang mit dem Unifi-Controller.
Die beiden Dateien habe ich unifi.p7b und CA.pfx genannt.
Die beiden Dateien ins Homeverzeichnis hochladen zur weiteren Bearbeitung:
Jetzt mit z.B. nano die beiden Dateien in der Form bearbeiten, dass die Inhalte so aussehen:
unifi.crt
CA.crt
Jetzt diese beiden Zertifikate einbinden mit
Nach ein paar Sekunden sollte folgendes angezeigt werden:
Jetzt den Controller neu starten und die Webseite sollte ohne Fehlermeldung geladen werden.
Sollte der Import der Zertifikate fehlschlagen, liegt es meist an den nicht korrekt editierten Zertifikaten!
WICHTIG: Nicht vergessen die Originaldateien unifi.p7b und CA.pfx vom Controller wieder zu entfernen!!!
- Erstellung Zertifikatanfrage
Nachfolgende Befehle funktionieren nur als sudo:
cd /usr/lib/unifi
java -jar lib/ace.jar new_cert unifi.domain.intern FIRMA STADT BUNDESLAND DE
cd data
nano unifi_certificate.csr.pem
Den Inhalt des Zertifikates kopieren und die Webseite der Zertifizierungsstelle öffnen (https://Zertifizierung.domain.intern/certsrv)
Hier ein neues Zertifikat anfordern und die gespeicherte Anforderung in das entsprechende Feld kopieren.
ACHTUNG:
Um die zusätzlichen Attribute nutzen zu können muss die CA dafür vorbereitet sein:
Auf der CA ausführen:
certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
HINWEIS:
Diese Funktion kann, wenn sie nicht mehr benötigt wird mit
certutil -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
Jetzt in den Attributen
san:dns=unifi.domain.intern
Die Zertifikate jetzt aber nicht über die Webseite, sondern direkt aus der CA herunterladen.
- Zertifikate aus der CA herunterladen
Unifi Zertifikat exportieren:
CA Zertifikat exportieren:
Den im CA-Zertifikat enthaltenen privaten Schlüssel benötigen wir später nicht. Dieser kann später entfernt werden.
Ich habe jedoch festgestellt, dass alle anderen Export-Optionen nicht funktionieren im Zusammenhang mit dem Unifi-Controller.
Die beiden Dateien habe ich unifi.p7b und CA.pfx genannt.
- Zertifikate umwandeln
Die beiden Dateien ins Homeverzeichnis hochladen zur weiteren Bearbeitung:
openssl pkcs7 -inform der -print_certs -in unifi.p7b -out unifi.crt
openssl pkcs12 -in CA.pfx -clcerts -nokeys -out CA.crt
Jetzt mit z.B. nano die beiden Dateien in der Form bearbeiten, dass die Inhalte so aussehen:
unifi.crt
-----BEGIN CERTIFICATE----- ..... -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- ..... -----END CERTIFICATE-----
CA.crt
-----BEGIN CERTIFICATE----- ..... -----END CERTIFICATE-----
Jetzt diese beiden Zertifikate einbinden mit
java -jar lib/ace.jar import_cert unifi.crt CA.crt
Nach ein paar Sekunden sollte folgendes angezeigt werden:
Certificates successfuly imported. Please restart the UniFi Controller.
Jetzt den Controller neu starten und die Webseite sollte ohne Fehlermeldung geladen werden.
Sollte der Import der Zertifikate fehlschlagen, liegt es meist an den nicht korrekt editierten Zertifikaten!
WICHTIG: Nicht vergessen die Originaldateien unifi.p7b und CA.pfx vom Controller wieder zu entfernen!!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 667119
Url: https://administrator.de/contentid/667119
Ausgedruckt am: 21.11.2024 um 06:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
für Java-Keystores fordere ich Zertifikate zwar lieber auf einem separaten Rechner an und spiele dann nur die p12 ein, aber CA-Zertifikate müssten sich in beiden Fällen gleich registrieren lassen, und der gewagte Schlüsselexport zu vermeiden sein (DER-codiert):
Grüße
Richard
für Java-Keystores fordere ich Zertifikate zwar lieber auf einem separaten Rechner an und spiele dann nur die p12 ein, aber CA-Zertifikate müssten sich in beiden Fällen gleich registrieren lassen, und der gewagte Schlüsselexport zu vermeiden sein (DER-codiert):
keytool -importcert -alias MeineRootCA -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -file /home/user/root.cer
Grüße
Richard
Also wenn man eine Private AD CA hat kann man auch Templates erstellen für Webserver.
dazu auf den CA Server per RDP
dann mmc Konsole Add Snap-In "Certificate Templates"
Da gibts schon "Web Server" das Duplizieren und neuen Namen fürs Template.
Dann Validity Period nach WUnsch, Renewal Period auch.
Bei Lasche "Compatibility" Haken setzen und CA: "Windows Server 2003" und Recipient: "WindowsXP/Server 2003"
Lasche Reques Handling Haken bei "Allow private key to be exportet"
Lasche Security auf Authenticated Users und Haken bei "Enroll" setzen
Nützliches Video dazu
https://www.youtube.com/watch?v=wxgpHOl9_Oo
Dann MMC Snap-In "Certification Authority" hinzufügen
Und aufklappen Ordner "Certificate Templates" da das neue Template rechter Mausklick und NEW "Certificate Template to Issue" und mit OK einbinden.
Nun ist es in der CA da.
Auf irgend nen Server Windows gehen, und MMC > Zertifikate Maschine Snap-In
Ordner "Personal" >> "Certificates" rechter Mausklick All Tasks > Request new Certificate
Paar mal Next bis dann das Template angezeigt wird, haken setzen und die Blaue schrift anklicken
Bei Subject Namen CN=dns namen rein
bei Alternative Name DNS= dns namen rein (2mal einmal DNS Namen einmal nur Hostname)
Bei Lasche "General" kann man Friendly Name setzen damit man es besser findet.
Lasche "Private Key" Option Haken setzen "Make private key exportable"
Dann OK und Enroll....
Status : Succeeded
So und nun ist es in der MMC Console gelistet
Ordner "Personal" >> "Certificates"
Mit rechtem Mausklick exportierbar als .pfx
Bei irgend einem anderen Windows Webservern kann man das einfach so importieren und z.B. im IIS verwenden
Oder erstellt das Zertifikat gleich dort
Mit openssl kan das .pfx in jede bliebige Form umgewandelt werden so das man die Zertifikate auch für Linux Apache und konsorten verwenden kann.
Auch ne Methode an Zertifikate zu kommen
dazu auf den CA Server per RDP
dann mmc Konsole Add Snap-In "Certificate Templates"
Da gibts schon "Web Server" das Duplizieren und neuen Namen fürs Template.
Dann Validity Period nach WUnsch, Renewal Period auch.
Bei Lasche "Compatibility" Haken setzen und CA: "Windows Server 2003" und Recipient: "WindowsXP/Server 2003"
Lasche Reques Handling Haken bei "Allow private key to be exportet"
Lasche Security auf Authenticated Users und Haken bei "Enroll" setzen
Nützliches Video dazu
https://www.youtube.com/watch?v=wxgpHOl9_Oo
Dann MMC Snap-In "Certification Authority" hinzufügen
Und aufklappen Ordner "Certificate Templates" da das neue Template rechter Mausklick und NEW "Certificate Template to Issue" und mit OK einbinden.
Nun ist es in der CA da.
Auf irgend nen Server Windows gehen, und MMC > Zertifikate Maschine Snap-In
Ordner "Personal" >> "Certificates" rechter Mausklick All Tasks > Request new Certificate
Paar mal Next bis dann das Template angezeigt wird, haken setzen und die Blaue schrift anklicken
Bei Subject Namen CN=dns namen rein
bei Alternative Name DNS= dns namen rein (2mal einmal DNS Namen einmal nur Hostname)
Bei Lasche "General" kann man Friendly Name setzen damit man es besser findet.
Lasche "Private Key" Option Haken setzen "Make private key exportable"
Dann OK und Enroll....
Status : Succeeded
So und nun ist es in der MMC Console gelistet
Ordner "Personal" >> "Certificates"
Mit rechtem Mausklick exportierbar als .pfx
Bei irgend einem anderen Windows Webservern kann man das einfach so importieren und z.B. im IIS verwenden
Oder erstellt das Zertifikat gleich dort
Mit openssl kan das .pfx in jede bliebige Form umgewandelt werden so das man die Zertifikate auch für Linux Apache und konsorten verwenden kann.
Auch ne Methode an Zertifikate zu kommen