OpenSSL - Aanmaken CSR

Voor het aanvragen van een SSL certificaat is een Certificate Signing Request (CSR) nodig. Genereer de CSR samen met de Private Key op de webserver. Vul voor een wildcard certificaat als CN (Common Name) een * (asterisk) in in plaats van het subdomein, bijvoorbeeld *.sslcertificaten.nl (en geen www.sslcertificaten.nl).

Algemene informatie

OpenSSL is een commandline-programma voor het maken en beheren van certificaten dat veel wordt gebruikt door UNIX, Linux en BSD distributies; het is ook geport naar Windows. OpenSSL wordt gebruikt in combinatie met veel serverproducten, waaronder Apache, Lighttpd en diverse routers en andere hardware. In deze handleiding wordt omschreven hoe met OpenSSL een RSA of ECC Private Key en CSR kunnen worden aangemaakt.

Het is praktisch om alle bestanden en sleutels centraal te bewaren in een map; de gehanteerde map hiervoor kan echter nogal variëren per distributie. Als voorbeeld wordt in deze handleiding /etc/ssl/cert/ aangehouden. Het is van groot belang dat deze map goed wordt beveiligd!

Het is aan te raden om via SSH op de server in te loggen, zodat de CSR eenvoudig kan worden gekopieerd naar een webbrowser om de aanvraag in te dienen.

Aanmaken CSR met openssl-commando

Maak met behulp van SSH verbinding met de server en log in als root. Ga met behulp van het cd-commando naar de map toe waar de certificaten moeten worden bewaard:
cd /etc/ssl/cert/

CSR met RSA Private key

Met het volgende commando kunnen de Private Key en de CSR in SHA-2 formaat worden gegenereerd:
openssl req -utf8 -nodes -sha256 -newkey rsa:2048 -keyout www_sslcertificaten_nl.key -out www_sslcertificaten_nl.csr

CSR met ECC Private key

Wil je een Elliptic Curve Private Key gebruiken, voer dan de volgende commando's uit:
openssl ecparam -out server.key -name prime256v1 -genkey
openssl req -new -key server.key -out server.csr

Invullen CSR velden

  1. Voer de gegevens in die gebruikt worden voor het aanvragen van het SSL Certificaat. Het is erg belangrijk dat deze informatie overeenkomt met de whois gegevens van de domeinnaam en de gegevens van de organisatie zoals die geregistreerd zijn bij de Kamer van Koophandel. Voor sommige velden is er een standaardwaarde, deze is weergegeven tussen brackets. ( [standaard waarde] )
    • Country Name (2 letter code) [AU]: NL

    • State or Province Name (full name) [Some-State]: Noord-Holland

    • Locality Name (eg, city) []: Heerhugowaard

    • Organization Name (eg, company) [Internet Widgits Pty Ltd]: Bedrijfsnaam

    • Organizational Unit Name (eg, section) []: ICT

    • Common Name (eg, YOUR name) []: www.sslcertificaten.nl

    • Email Address []:

    • A challenge password []:

    • An optional company name []:

    Bij de Common Name (CN) geef je de naam van de webserver opzoals de client deze zal gaan aanspreken. In de meeste gevallen is dit een volledige domeinnaam zoals bijvoorbeeld: www.hierjouwdomeinnaam.nl

    Let op: Laat je dus niet in de war brengen door (eg. YOUR name). Hier vul je NIET je eigen naam in maar de gewenste domeinnaam.

    Bij de vraag om een challenge password in te voegen kun je direct op enter toetsen om deze stap over te slaan. Door het ingeven van een challenge password zal je bij het starten van de webserver te allen tijde worden gevraagd dit wachtwoord in te voeren.

  2. OpenSSL genereert twee bestanden: de Private Key (met als naam www_sslcertificaten_nl.key) en de CSR (met als naam www_sslcertificaten_nl.csr)
  3. Beveilig de certificaatbestanden zodat niemand behalve de rootgebruiker erbij kan:

    [root@server cert]# chmod 600 *.key *.csr
  4. Nu kan de CSR met behulp van het cat-commando worden weergegeven:

    [root@server cert]# cat www_sslcertificaten_nl.csr 
    De velden e-mailadres, optionele bedrijfsnaam en uitwisselingswachtwoord kun je leeg laten bij het aanvragen van een SSL certificaat.

Kopieer de volledige inhoud van de aangemaakte CSR, inclusief begin- en eindregels, om een certificaat te bestellen. 

Certificaat aanvragen

SSLCheck

De SSLCheck controleert of je certificaat goed op je server is geïnstalleerd en of er mogelijke problemen zijn.