Erstellen Sie ein OpenSSL-Zertifikat unter Windows [geschlossen]

82

Da ich mit SSL-Zertifikaten noch sehr neu bin und sie erstellt und verwendet habe, habe ich mir gedacht, dass StackOverflow-Mitglieder mir vielleicht helfen können.

Ich komme aus Holland. Die übliche Art des Online-Zahlungsverkehrs ist die Implementierung von iDEAL. Ein Online-Zahlungsprotokoll, das von den großen Banken unterstützt wird. Ich muss eine "professionelle" Version implementieren. Dies umfasst das Erstellen eines privaten RSA-Schlüssels. Basierend auf diesem Schlüssel muss ich ein Zertifikat erstellen und es auf den Webserver hochladen.

Ich bin auf einem Windows-Computer und völlig verwirrt, was zu tun ist. Ich habe mir die OpenSSL-Website angesehen, weil mich das Handbuch auf diese Website weitergeleitet hat, um ein SSL-Toolkit zu erhalten.

Das Handbuch enthält zwei Befehle, die ausgeführt werden müssen, um einen RSA-Schlüssel und ein Zertifikat zu erstellen.

Die Befehle sind:

openssl genrsa -des3 –out priv.pem -passout pass:myPassword 1024

und

openssl req -x509 -new -key priv.pem -passin pass:myPassword -days 3650 -out cert.cer

Gibt es eine Möglichkeit, dies mit einem Dienstprogramm auf einem Windows-Computer zu tun? Ich habe PuTTy KeyGenerator heruntergeladen. Aber ich bin nicht sicher, was ich tun soll. Ich habe einen Schlüssel erstellt (SSH-2 RSA, was auch immer das ist.), Aber wie erstelle ich ein Zertifikat mit diesem Schlüssel?

Ben Fransen
quelle
Hier können Sie ein selbstsigniertes Zertifikat online erstellen: mobilefish.com/services/ssl_certificates/ssl_certificates.php
lubosdz
1
Siehe Frage Weg, um Bash-Skripte unter Windows
auszuführen

Antworten:

29

Sie können eine native OpenSSL für Windows herunterladen oder immer Cygwin verwenden .

Adam Batkin
quelle
3
Von diesem OpenSSL-Link: "Das OpenSSL-Projekt verteilt keinen Code in binärer Form und empfiehlt offiziell keine spezifischen binären Verteilungen"
Ed Norris
Wenn Sie scoop bereits installiert haben, können Sie 'scoop install openssl'.
mpr
Sie können auch in Bash für Windows (in Windows 10)
Altair7852
99

Wenn Sie unter Windows arbeiten und Apache verwenden, möglicherweise über WAMP oder das Drupal-Stack-Installationsprogramm, können Sie zusätzlich das Paket git for windows herunterladen , das viele nützliche Linux-Befehlszeilentools enthält, von denen eines openssl ist.

Der folgende Befehl erstellt das selbstsignierte Zertifikat und den Schlüssel, die für Apache benötigt werden, und funktioniert in Windows einwandfrei:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privatekey.key -out certificate.crt
alexkb
quelle
16
Vielen Dank für die Erwähnung, dass OpenSSL mit Git für Windows geliefert wird.
Benjamin Albert
2
Sie können diese Methode auch in Git Bash unter Windows verwenden: Wie erstelle
Eido95
ist es SSH-2 oder SSH-1?
Manish Kumar
Ich habe einen Fehler: unable to find 'distinguished_name' in config 18268:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto\conf\conf_lib.c:270: privatekey.keywurde generiert, aber nicht die crtDatei.
versuchenHard
15

Erwägen Sie die Verwendung der Zertifikat-Depot-Webanwendung, um auf einfache Weise einen privaten Schlüssel und ein darauf basierendes Zertifikat zu erstellen: http://www.cert-depot.com/

Es kann auch eine PFX für Sie erstellen.

Haftungsausschluss: Ich bin der Schöpfer des Zertifikatsdepots.

Dima Stopel
quelle
35
Achtung: Private Schlüssel sollten niemals über öffentliche Netzwerke übertragen werden. und sie sollten wirklich niemals auf einer Maschine generiert werden, über die Sie nicht die volle Kontrolle haben. - Verwenden Sie also die Ausgabe von cert-depot.com zum Testen und Entwickeln, stellen Sie jedoch sicher, dass Ihre Produktionszertifikate in einer vertrauenswürdigen Umgebung erstellt wurden. - Dima, ich impliziere nicht, dass Ihr Service nicht vertrauenswürdig ist, aber gängige Sicherheitspraktiken verbieten die Verwendung dieser Zertifikate für Produktionsumgebungen. Das heißt, ich werde jetzt von Ihrer Site ein Zertifikat für meinen neuen Entwicklungsserver erhalten. Vielen Dank für diesen bequemen Service. :)
JimmyB
5
Ich stimme jedem Wort zu, Hanno. Selbst wenn die Verbindung gesichert ist, sollte man nicht darauf vertrauen, dass Dritte private Schlüssel für ihn erstellen (diese können gespeichert und später verwendet werden). Wo immer ich konnte, habe ich versucht zu betonen, dass die generierten Zertifikate nur für Entwickler- / Testzwecke geeignet sind.
Dima Stopel
4
Vielen Dank für das praktische Entwickler-Tool Dima, aber Ihre Aussage "Wo immer ich konnte, habe ich versucht zu betonen, dass die generierten Zertifikate nur für Entwickler- / Testzwecke geeignet sind" ist derzeit nicht wahr. Die Homepage wäre ein perfekter Ort, um diese Art von Haftungsausschluss zu platzieren, und sie ist einfach nicht da.
Jeremy Cook
4
Dieser Service scheint nicht mehr verfügbar zu sein und es ist sowieso eine wirklich schlechte Idee, Ihre privaten Schlüssel in die Hände anderer zu legen.
Fabian Ritzmann
1
Ihre Website cert-depot.com ist verschwunden.
Darkenergy
14

So erstellen Sie ein selbstsigniertes Zertifikat unter Windows 7 mit IIS 6 ...

  1. Öffnen Sie IIS

  2. Wählen Sie Ihren Server aus (Element der obersten Ebene oder Name Ihres Computers).

  3. Öffnen Sie im Abschnitt IIS "Serverzertifikate".

  4. Klicken Sie auf "Selbstsigniertes Zertifikat erstellen".

  5. Nennen Sie es "localhost" (oder so etwas, das nicht spezifisch ist)

  6. OK klicken"

Sie können dieses Zertifikat dann an Ihre Website binden ...

  1. Klicken Sie mit der rechten Maustaste auf Ihre Website und wählen Sie "Bindungen bearbeiten ...".

  2. Klicken Sie auf "Hinzufügen"

    • Geben Sie Folgendes ein: https
    • IP-Adresse: "Alle nicht zugewiesen"
    • Hafen: 443
    • SSL-Zertifikat: "localhost"
  3. OK klicken"

  4. Klicken Sie auf "Schließen"

teewuane
quelle
Der IIS-Zertifikatgenerator generiert keine gültigen SSL-Zertifikate (siehe stackoverflow.com/questions/46641473/… ) und beantwortet die gestellte Frage nicht.
Doug
Die Frage wurde im Mai 2014 nach meiner Antwort geändert.
Teewuane
9

Sie können dazu sicherlich putty (puttygen.exe) verwenden.

Oder Sie können Cygwin dazu bringen, die gerade beschriebenen Dienstprogramme zu verwenden.

Pablo Santa Cruz
quelle
1
puttygen.exeist super einfach und ich vergesse es immer!
Kodybrown
17
Ich verstehe, wie man in puttygen ein öffentliches / privates Schlüsselpaar erstellt, aber wie erstellt man in puttygen ein Zertifikat (.pem)?
Aaron_H
Ich habe einen öffentlichen und einen privaten Schlüssel erstellt, aber was ist mit dem Zertifikat?
versuchenHard