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.