Ich benötige eine PFX-Datei, um https auf der Website von IIS zu installieren.
Ich habe zwei separate Dateien: Zertifikat (.cer oder pem) und privaten Schlüssel (.crt), aber IIS akzeptiert nur .pfx-Dateien.
Ich habe das Zertifikat offensichtlich installiert und es ist im Zertifikat-Manager (mmc) verfügbar, aber wenn ich den Zertifikatsexport-Assistenten auswähle, kann ich das PFX-Format nicht auswählen (es ist ausgegraut).
Gibt es dafür Tools oder C # -Beispiele dafür?
Antworten:
Sie müssen openssl verwenden.
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt
Die Schlüsseldatei ist nur eine Textdatei mit Ihrem privaten Schlüssel.
Wenn Sie eine Stammzertifizierungsstelle und Zwischenzertifikate haben, schließen Sie diese ebenfalls mit mehreren
-in
Parametern einopenssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
Sie können openssl von hier aus installieren: openssl
quelle
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
-certfile intermediate.crt -certfile rootca.crt
bevor ich aufgefordert wurde, das.pfx
mit einer Passphrase / einem Passwort zu schützen . Ich glaube, dies liegt möglicherweise daran,.key
dass die zusätzlichen-in
Dateien nicht übereinstimmten , was zu der Fehlermeldung "Kein Zertifikat stimmt mit privatem Schlüssel überein" führte, die ich erhielt.Das Microsoft Pvk2Pfx-Befehlszeilenprogramm scheint über die Funktionen zu verfügen, die Sie benötigen:
Pvk2Pfx (Pvk2Pfx.exe) ist ein Befehlszeilentool, das Informationen zu öffentlichen und privaten Schlüsseln, die in .spc-, .cer- und .pvk-Dateien enthalten sind, in eine .pfx-Datei (Personal Information Exchange) kopiert.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672(v=vs.85).aspx
Hinweis: Wenn Sie eine C # -Lösung benötigen / möchten / bevorzugen, sollten Sie die Verwendung der API http://www.bouncycastle.org/ in Betracht ziehen .
quelle
Wenn Sie nach einer Windows-Benutzeroberfläche suchen, lesen Sie DigiCert. Ich habe das gerade benutzt und es war ziemlich einfach.
Auf der Registerkarte SSL habe ich zuerst das Zertifikat importiert. Nachdem ich das Zertifikat ausgewählt hatte, konnte ich es als PFX mit und ohne Schlüsseldatei exportieren.
https://www.digicert.com/util
quelle
DigiCertUtil.exe
ausführbaren Datei aufzunehmen. Am einfachsten ist es, es einfach in den Zertifikatordner zu kopieren.Sie brauchen KEIN OpenSL oder Makecert oder irgendetwas davon. Sie benötigen auch nicht den persönlichen Schlüssel, den Sie von Ihrer Zertifizierungsstelle erhalten haben. Ich kann fast garantieren, dass das Problem darin besteht, dass Sie erwarten, die von Ihrer Zertifizierungsstelle bereitgestellten Schlüssel- und Cer-Dateien verwenden zu können, aber sie basieren nicht auf dem "IIS-Weg". Ich bin es so leid, hier draußen schlechte und schwierige Informationen zu sehen, dass ich beschlossen habe, das Thema und die Lösung zu bloggen. Wenn du merkst, was los ist und siehst, wie einfach es ist, wirst du mich umarmen wollen :)
SSL-Zertifikate für IIS mit PFX ein für alle Mal - SSL und IIS erklärt - http://rainabba.blogspot.com/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html
Verwenden Sie die IIS-Benutzeroberfläche "Serverzertifikate", um "Zertifikatanforderung zu generieren" (die Details dieser Anforderung fallen nicht in den Geltungsbereich dieses Artikels, diese Details sind jedoch kritisch). Dadurch erhalten Sie eine für IIS vorbereitete CSR. Anschließend geben Sie diese CSR an Ihre Zertifizierungsstelle weiter und fordern ein Zertifikat an. Dann nehmen Sie die CER / CRT-Datei, die sie Ihnen geben, und kehren zu IIS "Complete Certificate Request" an der Stelle zurück, an der Sie die Anfrage generiert haben. Möglicherweise wird nach einer .CER gefragt, und Sie haben möglicherweise eine .CRT. Sie sind das gleiche. Ändern Sie einfach die Erweiterung oder verwenden Sie die .Dropdown-Liste zur Erweiterung, um Ihre .CRT auszuwählen. Geben Sie jetzt einen richtigen "freundlichen Namen" an (* .IhreDomäne.com, IhreDomäne.com, foo.IhreDomäne.com usw.). DIES IST WICHTIG! Dies MUSS mit dem übereinstimmen, wofür Sie die CSR eingerichtet haben und was Ihre Zertifizierungsstelle Ihnen bereitgestellt hat. Wenn Sie nach einem Platzhalter gefragt haben, muss Ihre Zertifizierungsstelle einen Platzhalter genehmigt und generiert haben, und Sie müssen diesen verwenden. Wenn Ihre CSR für foo.yourdomain.com generiert wurde, MÜSSEN Sie dies in diesem Schritt angeben.
quelle
Ich habe eine PFX-Datei aus .key- und .pem-Dateien erstellt.
So was
openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
quelle
-export
Schalter nicht.https://msdn.microsoft.com/en-us/library/ff699202.aspx
((relevante Zitate aus dem Artikel sind unten))
(Optional (und nicht für das OP, sondern für zukünftige Leser) können Sie die .cer- und .pvk-Datei von Grund auf neu erstellen) (Sie würden dies VOR dem oben Gesagten tun). Beachten Sie, dass MM / TT / JJJJ Platzhalter für Start- und Enddatum sind. Eine vollständige Dokumentation finden Sie im msdn-Artikel.
quelle
Sie müssen das Makecert-Tool verwenden.
Öffnen Sie eine Eingabeaufforderung als Administrator und geben Sie Folgendes ein:
Wobei
<CertifcateName>
= der Name Ihres zu erstellenden Zertifikats.Anschließend können Sie das Zertifikatmanager-Snap-In für die Verwaltungskonsole öffnen, indem Sie im Startmenü certmgr.msc eingeben, auf Personal> Zertifikate> klicken und Ihr Zertifikat sollte verfügbar sein.
Hier ist ein Artikel.
https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/
quelle
Ich habe einen Link zu Ihrer Anforderung. Kombinieren Sie CRT- und KEY-Dateien mit OpenSSL zu einem PFX
Auszüge aus dem obigen Link:
BEARBEITEN:
Es gibt einen Support-Link mit schrittweisen Informationen zur Installation des Zertifikats.
Exportieren Sie nach erfolgreicher Installation das Zertifikat, wählen Sie das
.pfx
Format und schließen Sie den privaten Schlüssel ein.Wichtiger Hinweis :: Um das Zertifikat im PFX-Format zu exportieren, müssen Sie die Schritte auf demselben Computer ausführen, von dem Sie das Zertifikat angefordert haben .
Die importierte Datei kann auf den Server hochgeladen werden.
quelle
openssl pkcs12 -inkey example.com.key -in example.com.crt -export -out example.com.pfx
Dies ist bei weitem der einfachste Weg, * .cer in * .pfx-Dateien zu konvertieren:
Laden Sie einfach den Konverter für tragbare Zertifikate von DigiCert herunter: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
Führen Sie es aus, wählen Sie eine Datei aus und holen Sie sich Ihre * .pfx !!
quelle
Wenn Sie sagen, dass das Zertifikat in MMC verfügbar ist, ist es unter "Aktueller Benutzer" oder "Lokaler Computer" verfügbar? Ich habe festgestellt, dass ich den privaten Schlüssel nur exportieren kann, wenn er sich unter Lokaler Computer befindet.
Sie können das Snap-In für Zertifikate zu MMC hinzufügen und auswählen, für welches Konto Zertifikate verwaltet werden sollen. Wählen Sie Lokaler Computer. Wenn Ihr Zertifikat nicht vorhanden ist, importieren Sie es, indem Sie mit der rechten Maustaste auf das Geschäft klicken und Alle Aufgaben> Importieren wählen.
Navigieren Sie nun zu Ihrem importierten Zertifikat unter der lokalen Computerversion des Zertifikats-Snap-Ins. Klicken Sie mit der rechten Maustaste auf das Zertifikat und wählen Sie Alle Aufgaben> Exportieren. Auf der zweiten Seite des Exportassistenten sollten Sie gefragt werden, ob Sie den privaten Schlüssel exportieren möchten. Wählen Sie Ja. Die PFX-Option ist jetzt die einzige verfügbare Option (sie ist abgeblendet, wenn Sie Nein auswählen und die Option zum Exportieren des privaten Schlüssels unter dem Konto "Aktueller Benutzer" nicht verfügbar ist.)
Sie werden aufgefordert, ein Kennwort für die PFX-Datei und anschließend den Zertifikatsnamen festzulegen.
quelle
Ich hatte das gleiche Problem. Mein Problem war, dass der Computer, der die erste Zertifikatanforderung generiert hatte, abgestürzt war, bevor der erweiterte SSL-Validierungsprozess abgeschlossen war. Ich musste einen neuen privaten Schlüssel generieren und dann das aktualisierte Zertifikat vom Zertifikatanbieter importieren. Wenn der private Schlüssel auf Ihrem Computer nicht vorhanden ist, können Sie das Zertifikat nicht als pfx exportieren. Die Option ist ausgegraut.
quelle
Obwohl es wahrscheinlich am einfachsten ist, eine neue CSR mit IIS zu generieren (wie @rainabba sagte), gibt es unter der Annahme, dass Sie über die Zwischenzertifikate verfügen, einige Online-Konverter - zum Beispiel: https://www.sslshopper.com/ssl-converter. html
Auf diese Weise können Sie aus Ihrem Zertifikat und Ihrem privaten Schlüssel eine PFX erstellen, ohne ein anderes Programm installieren zu müssen.
quelle
In den meisten Fällen, wenn Sie das Zertifikat nicht als PFX exportieren können (einschließlich des privaten Schlüssels), liegt dies daran, dass MMC / IIS den privaten Schlüssel (der zum Generieren der CSR verwendet wird) nicht finden kann / keinen Zugriff darauf hat. Dies sind die Schritte, die ich ausgeführt habe, um dieses Problem zu beheben:
Hoffe das hilft!
quelle
Ich weiß, dass einige Benutzer darüber gesprochen haben, dies und das zu installieren, Befehlszeilenprogramme hinzuzufügen und ...
Persönlich bin ich faul und finde all diese Methoden umständlich und langsam. Außerdem möchte ich nichts herunterladen und die richtigen cmd-Zeilen finden, wenn ich nicht muss.
Der beste Weg für mich auf meinem persönlichen IIS-Server ist die Verwendung von RapidSSLOnline. Mit diesem Tool auf einem Server können Sie Ihr Zertifikat und Ihren privaten Schlüssel hochladen und eine pfx-Datei für Sie generieren, die Sie direkt in IIS importieren können.
Der Link ist hier: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php
Nachfolgend sind die Schritte aufgeführt, die für das angeforderte Szenario verwendet werden.
Und das war's, Sie sollten eine PFX herunterladen und diese in Ihrem Importprozess auf IIS verwenden.
Hoffe, dies hilft anderen gleichgesinnten, faulen Technikern.
quelle
Für cfx-Dateien von SSLForFree finde ich diese https://decoder.link/converter am einfachsten.
Stellen Sie einfach sicher, dass PEM -> PKCS # 12 ausgewählt ist, laden Sie dann die Zertifikats-, ca_bundle- und Schlüsseldateien hoch und konvertieren Sie sie. Merken Sie sich das Passwort, laden Sie es mit dem von Ihnen verwendeten Passwort hoch und fügen Sie Bindungen hinzu.
quelle