zeroday schreef op donderdag 14 maart 2019 @ 07:33:
[...]
misschien heb jij iets speciaals gedaan dat het werkt en blijft werken? kun je aangeven wat je hebt gedaan om je certificaat te kunnen gebruiken er zijn denk ik dan anderen ook geïnteresseerd. Ik in ieder geval.
Voor zover ik weer heb ik weinig speciaals gedaan om dit werkend te krijgen. Ik heb de HowTo gevolgd uit deze posting:
Install SSL Certificate
Het grootste verschil is dat ik een eigen Windows root CA gebruik en geen externe CA zoals RapidSSL. (de reden is dat ik een xyz.local domain suffix gebruik, het beheer helemaal zelf wil hebben en uiteraard is dit gratis

) Uiteraard is het root CA certificaat netjes gedistribueerd bij alle clients indien van toepassing. (zowel Windows als Mac als iPhones/iPads) Dus de clients vertrouwen netjes een uitgegeven certificaat door de CA.
Ik heb de vorige versie van de UCK firmware gebruikt toen ik het certificaat maakte, en toen werd het niet door UniFi Protect gebruikt, in plaats daarvan werd het self signed certificaat nog steeds gebruikt. De portal van de UCK en UniFi Network gebruikten wel netjes het certificaat. En zoals ik al eerder zei wordt dat nu wel door UniFi Protect gebruikt nadat ik de firmware heb geupgrade.
De stappen die ik heb genomen zijn de volgende:
- Backup maken van de huidige certificaten en de service stoppen:
code:
1
2
3
4
| cd /etc/ssl/private
service unifi stop
mkdir backup
cp ./* ./backup/ |
- Nieuwe private key genereren en een certificate request maken:
code:
1
2
| openssl genrsa -out cloudkey.key 2048
openssl req -new -key cloudkey.key -out cloudkey.csr |
Hierna krijg je wat vragen die je moet invullen maar die spreken voor zich... (extra attributen heb ik niet ingevuld)
- Certificaat aanvragen bij de CA. Mocht je net als ik een eigen Windows CA hebben dan zal je de SAN (Subject Alternative Names) handmatig moeten toevoegen bij de request, dit wordt helaas niet standaard gedaan en Chrome heeft tegenwoordig de policy om certificaten zonder SAN te weigeren. (althans, je krijgt dan de melding dat het certificaat niet in orde is)
- Nieuw bestand (cloudkey.crt) op de UCK maken (in /etc/ssl/private) met het certificaat dat je hebt gekregen of zelf hebt gegenereerd. (in PEM formaat, gewoon de text met een text editor plakken of wat je dan ook gemakkelijk vindt)
- PKCS12 bestand genereren dat gebruikt kan worden door keytool:
code:
1
| openssl pkcs12 -export -in signed.crt -inkey cloudkey.key -certfile cloudkey.crt -out unifi.p12 -name unifi -password pass:aircontrolenterprise |
(eventueel kan je het wachtwoord wijzigen, maar dan zal je ook in /usr/lib/unifi/data/system.properties dit wachtwoord moeten toevoegen, ik heb dat overigens niet gedaan)
- Gebruik keytool om een keystore te maken:
code:
1
| keytool -importkeystore -srckeystore unifi.p12 -srcstoretype PKCS12 -srcstorepass aircontrolenterprise -destkeystore unifi.keystore.jks -storepass aircontrolenterprise |
- En vervolgens een cert.tar maken en de rechten goed zetten:
code:
1
2
3
| tar cf cert.tar cloudkey.crt cloudkey.key unifi.keystore.jks
chown root:ssl-cert cloudkey.crt cloudkey.key unifi.keystore.jks cert.tar
chmod 640 cloudkey.crt cloudkey.key unifi.keystore.jks cert.tar |
- En als laatste de UCK herstarten of handmatig de services herstarten en je hebt een mooi certificaat

)
Nogmaals: bovenstaande komt uit de HowTo waarvan ik de link bovenaan heb gezet...