Eenvoudige ontwikkelcertificaten met mkcert

(Filip Vervloesem) ALs als je alleen maar een certificaat wilt aanmaken om tijdens de ontwikkeling bepaalde serversoftware via https te testen op je ontwikkelmachine, is step-ca wellicht wat overkill. Er is een eenvoudige oplossing voor deze situatie die geen enkele configuratie vereist: mkcert.

De installatie is eenvoudig, maar vereist Go 1.13 of hoger.Add New Op Ubuntu dien je daarvoor de snap te installeren:

sudo snap install go --classic

Daarna compileer je het programma met:

sudo apt install libnss3-tools
git clone https://github.com/FiloSottile/mkcert
cd mkcert
go build -ldflags "-X main.Version=$(git describe --tags)"

Het resultaat vind je in je huidige directory als het programma mkcert.

Je creëert eenvoudig een ca met:

mkcert -install

Dit installeert het certificaat van je ca ook in de lijst van vertrouwde ca’s van Linux en je webbrowsers. Daarna creëer je eenvoudig een door die ca ondertekend certificaat:

mkcert example.home "*.example.home" example

Het certificaat vind je na aanmaak in het bestand example.home+5.pem en de bijbehorende geheime sleutel in example.home+5-key.pem. Uiteraard dien je de webserver die je wilt testen nog te configureren zodat hij dit certificaat en de geheime sleutel gebruikt voor tls.

Als je de webserver op meerdere computers wilt testen, dan dien je het certificaat van de ca nog daarnaar te kopiëren. Je vindt het in het pad dat mkcert -CAROOT toont en de bestandsnaam is rootCA.pem. Maar in deze situatie gebruik je misschien beter toch een volwaardige certificaatautoriteit zoals step-ca.

https://mkcert.dev