CSR-Code generieren und SSL Zertifikat installieren in Apache

Die folgenden Tutorials erklären Ihnen Schritt für Schritt, wie Sie einen CSR-Code generieren und Ihr SSL-Zertifikat in Apache Webserver installieren können.

1 Einen CSR-Code in Apache generieren

Im ersten Schritt unseres Tutorials erklären wir Ihnen, wie Sie einen CSR-Code mithilfe von Apache Webserver generieren. Dieser wird benötigt, um ein SSL-Zertifikat zu erstellen. Um einen solchen Code zu erstellen müssen bestimmte Angaben von Ihnen gemacht werden, die in verschlüsselter Form in den Code implementiert werden. Bitte beachten Sie, dass diese Angaben essentiell für die Gültigkeit des CSR-Codes und somit auch für ihr SSL-Zertifikat sind.

1.1 Angaben für den CSR-Code

  • Loggen Sie sich zunächst in ihren Server ein und geben Sie folgenden Befehl in die Kommandozeile ein:
    openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr
  • Es wird nun ein Prozess gestartet, der zwei verschiedene Dateien generiert: Zum einen den Private Key (myserver.key), zum anderen Ihren CSR-Code (server.csr). Sie müssen nun bestimmte Daten angeben, die später in verschlüsselter Form in ihrem CSR-Code eingebunden sind. Nach der Eingabe einer Information müssen Sie diese mithilfe der Enter-Taste bestätigen
    • Country Name: Geben Sie hier das Zwei-Buchstaben-Kürzel, den sog. Isocode, des Landes ein in dem Sie ansässig sind (z.B.: DE für Deutschland)
    • State or Province Name: Geben Sie hier den Namen des Bundeslandes ein, in dem Sie ansässig sind
    • Locality Name: Geben Sie hier den Namen der Stadt ein, in der Sie ansässig sind
    • Organization Name: Geben Sie hier den Namen ihrer Organisation ein. Ist dies nicht möglich, geben sie ein „NA“ ein
    • Organization Unit Name: Hier können Sie die Abteilung Ihrer Organisation angeben. Dieses Feld ist optional und kann leer gelassen werden
    • Common Name: Geben Sie hier den vollständigen Namen der Domain an, auf dem das SSL-Zertifikat installiert werden soll (z.B. www.meine-ssl.de). Falls Sie einen CSR-Code für ein Wildcard-Zertifikat generieren möchten, müssen Sie der Domain ein Asterisk (Sternchen) voranstellen: *.meine-ssl.de
  • Die folgenden Angaben sind nicht notwendig und müssen demnach nicht von Ihnen ausgefüllt werden. Wünschen Sie eine dieser Angaben nicht zu tätigen, bestätigen Sie einfach das leere Feld mithilfe von Enter. Nachdem Sie alle Angaben ausgefüllt haben werden sowohl CSR-Code, als auch Private-Key generiert. Diese können mithilfe eines Text-Editors geöffnet und kopiert werden

1.2 Der CSR-Code

  • Der CSR-Code beginnt mit -----BEGIN CERTIFICATE REQUEST----- und endet mit -----END CERTIFICATE REQUEST-----
  • Bitte beachten Sie, dass sowohl die Anfangs-, als auch die End-Tags Bestandteil des CSR-Codes sind. Verwenden Sie den CSR-Code für die Erstellung Ihres SSL-Zertifikats müssen Sie daher unbedingt mit angegeben werden, damit das SSL-Zertifikat korrekt erstellt werden kann
  • Bei der Erstellung eines funktionsfähigen SSL-Zertifikats ist ein CSR-Code ohne Fehler essentiell. Um diesen auf seine Integrität zu prüfen, können Sie ihn mithilfe eines CSR-Decoders auslesen und somit ihre persönlichen Daten noch einmal überprüfen. Seien Sie bitte sicher, dass sich im CSR-Code keine Fehler befinden, bevor Sie diesen für die Erstellung Ihres SSL-Zertifikates nutzen.

2 Ein SSL Zertifikat in Apache installieren

Im zweiten Schritt erklären wir Ihnen, wie Sie mit dem Private Key, Ihrem Zertifikat und dem Zertifikat der Zertifizierungsstelle ein SSL-Zertifikat in Apache Webserver installieren. Der Private Key wird gleichzeitig mit dem CSR-Code generiert (s.o.). Das CA-Zertifikat (sog. Intermediate Certificate) erhalten Sie auf der Homepage der Zertifizierungsstelle.

2.1 Erste Schritte / Was Sie zur Installation benötigen

  • Bevor Sie ein SSL-Zertifikat auf ihrem Apache-Server installieren, sollten Sie sichergehen, folgende Dateien griffbereit zu haben:
    • Intermediate Certificate: Diese Zertifikatdatei kann auf der Webseite der Zertifizierungsstelle Ihres Zertifikates heruntergeladen werden
    • Eigenes Zertifikat: Kopieren Sie ihr eigenes SSL-Zertifikat in einen Text-Editor und speichern Sie die Datei unter dem Namen "meinzertifikat.crt"
    • Eigener Private Key: Kopieren Sie Ihren eigenen Private Key in ein Text-Dokument und speichern Sie ihn unter dem Namen "meinprivatekey.crt" ab
  • Alle der oben genannten Dateien müssen auf Ihrem Apache Webserver in folgendem Verzeichnis abgespeichert werden: /etc/apache2/conf/ssl oder /etc/httpd/conf/ssl
  • Bitte beachten Sie, dass dieser Pfad einer Standard-Installation von Apache entspricht. Wenn Sie eine benutzerdefinierte Installation ihres Apache-Webservers vorgenommen haben kann es sein, dass der Ordner "ssl" unter einem anderen Verzeichnis zu finden ist

2.2 Apache-Configuration-Datei editieren

  • Navigieren Sie nun zu Ihrer Apache-Configuration-Datei. Diese ist üblicherweise im Verzeichnis /etc/httpd/conf oder /etc/apache2/conf zu finden und heißt httpd.conf oder apache2.conf. Bitte beachten Sie, dass diese Angaben, je nachdem welches Interface Sie zur Konfigurierung Ihres Servers nutzen, abweichen können
  • Öffnen Sie die Apache-Configuration-Datei mit einem Text-Editor und suchen Sie zunächst den Abschnitt <VirtualHost_default_:443>. Haben Sie diesen lokalisiert, suchen Sie den Unterpunkt Server Certificate. Die letzte Zeile dieses Unterpunktes beginnt mit SSLCertificateFile. Geben Sie dahinter den Pfad in Anführungszeichen an, in dem Sie ihre SSL-Zertifikatsdatei (z.B.: "meinzertifikat.crt") abgespeichert haben. Die Zeile sollte nun beispielsweise so aussehen:
    SSLCertificateFile "/etc/apache2/conf/ssl/meinzertifikat.crt"
  • Wiederholen Sie diesen Vorgang für die Unterpunkte Server Private Key (Geben Sie hier das Verzeichnis Ihres Private-Keys an) und Server Certificate Chain (geben Sie hier das Verzeichnis Ihres Intermediate-Certificates an). Nachdem Sie die Datei gespeichert haben können Sie sie schließen
  • Ihr Apache-Webserver kann nun auf die notwendigen Ressourcen zugreifen, um auf der gewünschten Domain eine SSL-Verbindung einzurichten. Um sicher zu gehen, dass die SSL-Verbindung besteht und die Configuration-Datei keine Fehler aufweist, sollten Sie zunächst einen Configtest durchführen. Dies ist besonders wichtig, da eine defekte oder fehlerhafte Configuration-Datei großen Schaden anrichten kann

2.3 Configtest und Neustart

  • Bevor Sie einen Neustart vornehmen, sollten Sie unbedingt die Configuration-Datei auf Fehler überprüfen, da Apache auf Syntax-Fehler sehr empfindlich reagiert. Geben Sie hierzu folgenden Befehl in die Kommandozeile ein und warten die Ergebnisse ab:
    apachectl configtest
  • Werden keine Fehler gefunden, können Sie den Apache nun neustarten. Nutzen Sie hierzu die Befehle:
    apachectl stop
    apachectl start
  • Sollte es mit dem Befehl apachectl start nicht funktionieren können Sie ebenfalls den Befehl apachectl startssl benutzen
  • Nach dem Neustart ist die Installation des SSL-Zertifikats abgeschlossen und die Domain kann nun mit https:// aufgerufen werden