Laatste update: November 2020
Ondanks dat de geldigheidsduur van certificaten is verkort, doen de meeste IT'ers niet elke dag iets met de configuratie van hun TLS/SSL-certificaten. Meestal doen ze maar een keer per jaar iets met hun sleutels, namelijk op het moment dat ze een nieuw certificaat nodig hebben. Het vinden van de certificaten en het bijbehorende sleutelmateriaal kan lastig zijn, met een tijdrovende zoektocht naar de juiste locaties tot gevolg.
In dit artikel helpen we u met het vinden van uw persoonlijke sleutel. De stappen daarvoor verschillen per webserver. Hieronder behandelen we de meestgebruikte systemen; maar eerst vertellen we iets meer over persoonlijke sleutels.
Voor alle TLS-certificaten is een persoonlijke sleutel nodig. De persoonlijke sleutel is een afzonderlijk bestand dat wordt gebruikt voor het versleutelen en ontsleutelen van de gegevens die worden verzonden tussen uw server en de clients die ermee verbinding maken. Een persoonlijke sleutel wordt gemaakt door u, de eigenaar van het certificaat, wanneer u uw certificaat aanvraagt met een certificaatondertekeningsaanvraag (CSR). De certificeringsinstantie (CA) die u het certificaat levert (zoals ¶ºÒõ¹Ý) maakt die persoonlijke sleutel niet en heeft die ook niet. Sterker nog, niemand behalve uw beheerders mogen toegang hebben tot het materiaal. We zien steeds meer gevallen waarin certificeringsinstanties certificaten moeten intrekken omdat een beheerder de sleutel in een online opslagruimte had gezet, zoals GitHub. Ook als u denkt dat de site geen transacties verwerkt met vertrouwelijke informatie, moeten na openbaarmaking van de persoonlijke sleutel alle bijbehorende certificaten worden ingetrokken.
Als u het certificaat nog niet hebt geïnstalleerd, staat de persoonlijke sleutel waarschijnlijk op de computer of server waarop u het sleutelpaar en de CSR hebt aangemaakt. Bij het aanmaken van het sleutelpaar hebt u twee bestanden opgeslagen, een met de openbare sleutel en een met de persoonlijke sleutel. Voor OpenSSL voert u de opdracht 'openssl version –a' uit om de map te vinden waarin de sleutels zijn opgeslagen. Standaard is dat de map /usr/local/ssl. In Windows (IIS) regelt het besturingssysteem uw certificaataanvragen. U kunt het beste eerst de aanvraag voltooien en daarna de sleutel exporteren (de instructies staan hieronder).
Als uw certificaat al is geïnstalleerd, volgt u deze stappen om uw persoonlijke sleutel te vinden voor de volgende veelgebruikte webservers.
In het hoofdconfiguratiebestand van Apache, httpd.conf of apache2.conf, wordt verwezen naar de locatie van uw persoonlijke sleutel. De directive SSLCertificateKeyFile bevat het pad op de server waar uw sleutel zich bevindt.
In OpenSSL, de meestgebruikte SSL-bibliotheek voor Apache, worden persoonlijke sleutels standaard opgeslagen in /usr/local/ssl. U kunt de opdracht 'openssl version –a' uitvoeren om OPENSSLDIR te zoeken en te bevestigen in welke map uw server sleutels opslaat.
U kunt de locatie van de persoonlijke sleutels vinden in het virtualhost-bestand van uw site. Navigeer naar het serverblock voor die site (standaard in de directory /var/www/). Open het hoofdconfiguratiebestand voor de site en zoek naar de directive ssl_certificate_key, die het pad naar de persoonlijke sleutel bevat (sommige gebruikers hebben een apart configuratiebestand voor hun SSL, bijvoorbeeld ssl.conf).
Op Windows-servers zet het besturingssysteem uw certificaatbestanden in een verborgen map, maar u kunt de persoonlijke sleutel ophalen door een .pfx-bestand te exporteren dat het certificaat/de certificaten en de persoonlijke sleutel bevat.
Open de Microsoft Management Console (MMC). Vouw onder Consolebasis Certificaten (lokale computer) uit. Uw servercertificaat bevindt zich in de submap Persoonlijk of Webserver. Zoek het certificaat op basis van de gemeenschappelijke naam, klik erop met de rechtermuisknop, selecteer Exporteren en voer de wizard uit. Het resultaat is een .pfx-bestand. Hier vindt u gedetailleerde, stapsgewijze instructies.
Afhankelijk van wat u wilt doen met de persoonlijke sleutel, moet u die mogelijk in een apart bestand zetten door het .pfx-bestand te converteren. Als u alleen een back-up wilt maken van de sleutel of die op een andere Windows-server wilt installeren, is het huidige bestandsformaat het juiste. Voor gebruik met andere platformen, zoals Apache, moet u het .pfx-bestand converteren om het .crt/.cer-bestand te scheiden van het .key-bestand voor gebruik met OpenSSL.
Als u de persoonlijke sleutel niet kunt vinden aan de hand van deze methode, kunt u de ¶ºÒõ¹Ý SSL Utility downloaden. Met behulp van deze software kunt u uw certificaat importeren en automatisch uw persoonlijke sleutel vinden als die zich op de server bevindt. Houd er rekening mee dat dit on-premises software is en dat er geen informatie over het sleutelmateriaal naar ¶ºÒõ¹Ý wordt verzonden. ¶ºÒõ¹Ý kan nooit beschikken over persoonlijke sleutels voor TLS-certificaten en het in bewaring nemen van TLS-sleutels door een certificeringsinstantie (wat soms gebeurt voor documentondertekening en S/MIME-certificaten) is streng verboden volgens het root-storebeleid.
Als u de stappen hebt gevolgd voor uw systeem en uw sleutel niet hebt gevonden, zoekt u misschien op de verkeerde plek.
Als u werkt met een server die actieve HTTPS-verbindingen biedt, bevindt de sleutel zich ergens op die server (of op een voor de server toegankelijke locatie), anders zouden de HTTPS-verbindingen mislukken. We kunnen hier alleen ingaan op standaardscenario's, maar het is natuurlijk mogelijk dat uw organisatie een aangepaste configuratie gebruikt. U kunt op uw server zoeken naar een .key-bestand of de stappen volgen voor het installeren van een nieuw certificaat, waarbij u op een gegeven moment een persoonlijke sleutel moet opgeven.
Op sommige platformen slaat OpenSSL het .key-bestand op in dezelfde directory waar de opdracht '-req' werd uitgevoerd.
Als u het certificaat nog niet hebt geïnstalleerd en de sleutel niet kunt vinden, is die mogelijk verloren gegaan. Als u zelf de certificaataanvraag hebt gedaan maar het sleutelbestand niet kunt vinden, kunt u het beste uw certificaat opnieuw uitgeven. Begin met het maken van een nieuwe certificaataanvraag en zorg dat u nu wel weet waar de persoonlijke sleutel zich bevindt. Koppel het certificaat vervolgens aan de nieuwe sleutel. Opnieuw uitgeven is altijd gratis bij ¶ºÒõ¹Ý.
Maar voor de beveiliging is het essentieel dat u weet waar en hoe u sleutelmateriaal beschermt. Daarom adviseren we om een nieuw sleutelpaar te genereren elke keer dat u een nieuw certificaat bestelt. Het hergebruiken van sleutelmateriaal is uit den boze en kan leiden tot grootschalige problemen en een slecht beveiligingsframework bij de opkomst van nieuwe dreigingen. Het genereren van sleutelmateriaal en certificaataanvragen is gemakkelijker dan ooit. ¶ºÒõ¹Ý is voorstander van het regelmatig verversen van sleutels als aanbevolen werkwijze voor een goede beveiliging.
Ontdek hoe PKI een verbonden wereld vol mogelijkheden ontsluit; lees ons e-book over PKI.