Sleutelpaar en CSR genereren: Op Linux of BSD met OpenSSL

Als je je certificaat wilt laten installeren op je website bij NederHost dan voert NederHost het sleutelbeheer voor je uit en hoef je geen eigen CSR te maken.

Als je een certificaat aan wilt vragen voor een eigen server dan lever je NederHost hier over het algemeen een CSR (certificate signing request) voor aan. Je genereert zelf een sleutelpaar en de geheime sleutel komt nooit buiten je server.

Op Linux of BSD genereer je een sleutelpaar en CSR eenvoudig met openssl, als volgt:

openssl req -new -nodes -newkey rsa:2048 \
  -keyout private_key.pem -out csr.pem

Na het ingeven van dit command wordt een aantal vragen gesteld, deze beantwoord je als volgt:

  • Common Name (CN): de naam van de website of server waarvoor het certificaat moet worden verstrekt, bijvoorbeeld www.example.com of example.com. Als je een wildcard-certificaat wilt aanvragen dan vul je hier iets als *.example.com in.
  • Organisation (O) en Organisational Unit (OU): de naam van de organisatie zoals je die in het certificaat wilt laten opnemen.
  • Locality (L): woonplaats zoals die in het certificaat moet worden vermeld.
  • State/Province (S, ST, SP): provincienaam of eventueel deelstaat.
  • Country (C): tweeletterige landcode, NL voor Nederland of BE voor België.

De waarden die je invult bij alle velden behalve common name worden genegeerd voor certificaten met domeinvalidatie.

Het genereren van de sleutel kan even duren, zeker op een server waar weinig op gebeurt. Ga eventueel iets anders op de machine doen om te zorgen dat er voldoende entropie in de machine aanwezig is. Na het uitvoeren van dit commando heb je twee bestanden:

  • Het bestand private_key.pem bevat je geheime sleutel. Bewaar deze zorgvuldig en geef deze niet aan NederHost of een andere partij, tenzij de betreffende partij de beveiligde verbindingen op gaat zetten.
  • Het bestand csr.pem bevat het certificate signing request. Dit bestand kun je bij NederHost uploaden voor het aanvragen van je certificaat. Het CSR bevat geen geheime informatie maar is een door jou ondertekend verzoek voor een certificaat.