Op het domein van deze  site heb ik een ssl-certificaat Niet dat ik heel geheime bestanden heb om weer te geven, maar vooral omdat ik dan bepaalde zaken kan uitproberen waarvoor je een https-verbinding moet hebben, en omdat het goed lijkt te zijn voor je google-rankings.

Ik heb hiervoor een goedkoop certificaat (zeven euro per jaar) en dat moest onlangs verlengd worden. Als ik niets zou doen, zou het vanzelf verlopen en dat wilde ik niet. Ik kreeg keurig een mailtje van de organisatie waar ik één en ander heb geregeld (Xolphin) en via hun site kon ik eenvoudig de geldigheid verlengen – wat feitelijk neer bleek te komen op het doorlopen van dezelfde stappen als wanneer je voor het eerst zo’n certificaat aanvraagt.

Het gaat bij ssl om asymmetrische encryptie, dus je hebt een publieke en een private sleutel nodig. De private sleutel staat, uiteraard, alleen op de server. Om een publieke sleutel te maken, moet je een Certificate Signing Request (csr) creëren en die aan de autoriserende partij (Xolphin in dit geval, of feitelijk Comodo) aanbieden. Die genereren op basis van deze csr een publieke sleutel die je vervolgens ook op de server zet. De csr kun je eenvoudig plakken in het Control Panel van Xolphin.

Om de publieke en private sleutel te genereren maak ik gebruik van openssl:

[root]# openssl genrsa -out bartbarnard.nl.2016.key 2048
[root]# chmod 400 bartbarnard.nl.2016.key
[root]# openssl req -new -key bartbarnard.nl.2016.key -out www.bartbarnard.nl.csr

Bij het aanmaken van die csr wordt je gevraagd om een aantal gegevens in te vullen. Hierbij is het van belang dat de Common Name en het domein uit de aanvraag hetzelfde zijn, anders is de sleutel niet goed. Gelukkig heeft Xolphin een directe check op de sleutel, zodat je gelijk ziet of er zaken verkeerd zijn ingevuld.

[root]# openssl req -new -key bartbarnard.nl.2016.key -out www.bartbarnard.nl.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:NL
State or Province Name (full name) []:.
Locality Name (eg, city) [Default City]:Sneek
Organization Name (eg, company) [Default Company Ltd]:bartbarnard.nl
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server's hostname) []:www.bartbarnard.nl
Email Address []:admin@bartbarnard.nl

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Als het csr eenmaal goed is en doorgestuurd naar Comodo, krijg je een validatie op het admin-adres van het domein in kwestie, admin@domeinnaam.nl. In dit mail staat een controlecode, die je weer in de site van Comodo moet plakken (standaar mail-validatie, kortom). Als dat gedaan is, krijg je weer een mail met het certificaat (of je kunt het via het control-panel downloaden).

Dat certificaat moet dan op de server geplaatst worden en de httpd.conf aangepast worden:

SSLCertificateFile crt/bartbarnard.nl.2016.crt
SSLCertificateKeyFile key/bartbarnard.nl.2016.key
DocumentRoot /bartbarnard.nl/www

Na deze aanpassingen nog even apache herstarten en controleren of het allemaal in orde is. Als dat het geval is, kun je weer wachten op volgend jaar.

certificaat slotje