OpenSSL - Aanmaken CSR voor client certificaat

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. Het 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 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

  1. 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:
    [root@server]# cd /etc/ssl/cert/
  2. Met het volgende commando kunnen de Private Key en de CSR worden gegenereerd:
    [root@server cert]# openssl req -nodes -newkey rsa:2048 -keyout info_sslcertificaten_nl.key -out info_sslcertificaten_nl.csr
    Let op: vervang info_sslcertificaten_nl door de domeinnaam waarvoor het certificaat wordt aangevraagd.
  3. Voer de gevraagde gegevens in. Deze gegevens worden gebruikt voor het aanvragen van het SSL Certificaat. Het is erg belangrijk dat deze informatie overeenkomt met de organisatiegegevens bij de Kamer van Koophandel én de whois-gegevens van de domeinnaam. Voor sommige velden is er een standaardwaarde; deze is weergegeven tussen brackets ( [standaard waarde] ). Bij de Common Name (CN) moet u de domeinnaam opgeven van het e-mailadres (bijvoorbeeld sslcertificaten.nl). Dit is puur bedoeld om de aanvraag te kunnen valideren. Let op: Laat u dus niet in de war brengen door '(eg, YOUR name)'. Hier dient u NIET uw eigen naam in te vullen. Bij de vraag om een challenge password in te voeren kunt u direct op enter drukken om deze stap over te slaan.

    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 []:info@sslcertificaten.nl
    A challenge password []:
    An optional company name []:

  4. OpenSSL genereert twee bestanden: de Private Key (met als naam info_sslcertificaten_nl.key) en de CSR (met als naam info_sslcertificaten_nl.csr).
  5. Beveilig de certificaatbestanden zodat niemand behalve de rootgebruiker erbij kan:
    [root@server cert]# chmod 600 *.key *.csr
  6. Nu kan de CSR met behulp van het cat-commando worden weergegeven:
    [root@server cert]# cat info_sslcertificaten_nl.csr
  7. De velden 'An optional company name []:' en 'A challenge password []:' kunnen leeggelaten worden bij het aanvragen van een client 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.