Met een self-signing certificaat kun je een veilige en vertrouwde verbinding opzetten. In deze blog leg ik uit wat hierbij komt kijken.

Als je een website (service) hebt die een veilige verbinding verlangt (URL start met https) dan moet je een certificaat hiervoor hebben. Een bekend voorbeeld van zo’n service is Webmin. Hier kun je je certificaat vinden in de directory:

/etc/webmin/miniserv.pem

Om een eigen certificaat te maken moet je een aantal stappen doorlopen. Zorg ervoor dat je openssl hebt geïnstalleerd op je Debian Server. Doorloop vervolgens de volgende stappen:

openssl genrsa -out key.pem 2048

Hiermee creëer je de file ‘key.pem’ die je prive sleutel bevat.

openssl req -new -key key.pem -out req.pem

Hierbij wordt de file ‘req.pem’ gecreëerd die je certificate signing request (CSR) bevat.
Bij de vraag voor ‘common name’ moet je de URL van je site ingeven (b.v. www.yourserver.com).

openssl req -x509 -days 999 -key key.pem -in req.pem -out cert.pem

Hiermee creëer je een self-signing certificaat waarbij het getal achter -days aangeeft hoe lang het geldig is.

cat key.pem cert.pem >serv.pem

Dit commando combineert je prive sleutel en het certificaat in de file ‘serv.pem’. Deze file heb je dus nodig.

Wil je het certificaat expliciet installeren voor je Internet Explorer dan zul je moeten converteren naar een binary formaat.

Converteren van PEM (ASCII) naar DER (binary)

openssl x509 -outform der -in cert.pem -out cert.der

Je kunt de ‘cert.der’ file ook renamen in ‘cert.cer’ zodat je deze in bijvoorbeeld Internet Explorer kunt importeren in je Certificaten lijst.

Ga hiervoor naar Internet Options en kies het /Content\ tab-blad.

Kies vervolgens de ‘Certificates’ button.
Kies nu het /Trusted Root Certification Authorities\ tab-blad en druk op de Import button. Kies Next en geef dan bij de filenaam de ‘cert.cer’ file aan die we zojuist hebben gecreëerd. Je certficaat zal nu netjes geïmporteerd worden.