Exportieren eines privaten Schlüssels aus einem Zertifikat unter Windows

17.09.2017
Dieser Inhalt ist bereits etwas älter.
This content is already a bit old.
Bild

In dieser Anleitung beschreibe ich, wie man ein Zertifikat (in diesem Fall eines von StartCom) für einen Apache Webserver verwendet, wenn bei dem Erstellen der Zertifikats der Kryptographie-Provider des Internet Explorers verwendet wurde. Folglich findet man keinen privaten Schlüssel und kann das Zertifikat nicht ohne weiteres mit Apache verwenden.

Folgende Schritte müssen ausgeführt werden, um den privaten Schlüssel für Apache zu exportieren:

  1. In die Internetoptionen des Internet Explorers wechseln
  2. Auf den Tab "Inhalte" klicken
  3. Auf die Schaltfläche "Zertifikate" klicken
  4. Nun das jeweilige Zertifikat auswählen
  5. Auf Schaltfläche "Exportieren..." klicken
  6. Bild
  7. Im Assistenten auf "Weiter" klicken
  8. Bild
  9. Optioen wählen und auf "Weiter" klicken
  10. Bild
  11. Auf "Weiter" klicken
  12. Bild
  13. Kennwort festlegen und notieren (wird später wieder benötigt!)
  14. Bild
  15. Dateinamen festlegen und auf "Weiter" klicken.
  16. Bild
  17. Auf "Fertig stellen" klicken.
  18. Nun wurde eine PFX-Datei generiert, welche einen verschlüsselten privaten Schlüssel enthält. Im nächsten Schritt werden wir den Schlüssel für die Verwendung mit Apache im Klartext in einer neuen Datei speichern. Hierzu wird die Windows-Version von OpenSSL verwendet. Diese kann unter https://indy.fulgan.com/SSL/ heruntergeladen werden. Alternativ kann hier natürlich auch OpenSSL auf einem Linux-System verwendet werden.
  19. Die Dateien in der ZIP-Datei extrahieren und die PFX-Datei am besten in das gleiche Verzeichnis kopieren.
  20. Nun mit gedrückter Shift-Taste in einer leeren Bereich im OpenSSL-Verzeichnis mit der rechten Maustaste klicken und dort "Eingabeaufforderung hier öffnen" auswählen.
  21. Nun in der Kommandozeile folgenden Befehl eingeben:
  22. openssl pkcs12 -in <Exportierte PFX-Datei> -nocerts -nodes -out <Neue Datei mit entschlüsselten privaten Schlüssel>

    Nun das oben vergebene Kennwort eingeben und mit Return bestätigen.

  23. Nun bearbeiten wir die generierte Datei so, dass der private Schlüssel von den Werten
  24. -----BEGIN PRIVATE KEY-----

    sowie

  25. -----END PRIVATE KEY-----

    umschlossen wird. Den Text vor und nach (auch leere Zeilen!) diesen Werten entfernen, so dass nur noch der private Schlüssel in der Datei steht, also so:

  26. -----BEGIN PRIVATE KEY-----
    <String>
    -----END PRIVATE KEY-----

    Diese Aktion sollte man entweder mit dem Texteditor von WinSCP vornehmen oder mittels Notepad++, um ungewünschte Codierungsprobleme zu umgehen.

  27. Nun die 2 Zertifikate der ZIP-Datei von StartSSL sowie die bearbeitete KEY-Datei in ein Verzeichnis auf dem Webserver kopieren (Nicht in das Dokumentverzeichnis von Apache!!!)
  28. Auf dem Webserver die Datei httpd-ssl.conf suchen und  dort die Einträge SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile dementsprechend anpassen.

 

Feedback, Verbesserungsvorschläge, weitere Ideen?

Einfach das Kontaktformular verwenden oder direkt eine E-Mail an info@kirgus.net.