looser27
Goto Top

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:

  • 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
wieder deaktiviert werden.

Jetzt in den Attributen
san:dns=unifi.domain.intern
eintragen und die Anfrage absenden.

Die Zertifikate jetzt aber nicht über die Webseite, sondern direkt aus der CA herunterladen.

  • Zertifikate aus der CA herunterladen

Unifi Zertifikat exportieren:
unifi

CA Zertifikat exportieren:
ca1
ca2
ca3

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!!!

Content-Key: 667119

Url: https://administrator.de/contentid/667119

Printed on: April 27, 2024 at 01:04 o'clock

Member: C.R.S.
C.R.S. May 27, 2021 updated at 15:33:30 (UTC)
Goto Top
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):

keytool -importcert -alias MeineRootCA -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -file /home/user/root.cer

Grüße
Richard
Member: Looser27
Looser27 May 27, 2021 at 16:35:36 (UTC)
Goto Top
Da es sich um eine interne CA handelt, kann man das denke ich riskieren, solange man die privaten Schlüssel wie o.g. anschließend löscht.