2017-10-23 2 views
1

Ich habe ein GoDaddy-SSL-Zertifikat in meiner Azure-Webrolle installiert. Es funktioniert für die meisten Clients, aber einige Kunden beschweren sich, dass das Zertifikat "nicht vertrauenswürdig" ist. Insbesondere habe ich einen Azure-Scheduler-Job eingerichtet, der in regelmäßigen Abständen an einen HTTPS-Endpunkt in meiner Webrolle POST gesendet wird, aber der POST schlägt fehl. Nach einigen Untersuchungen stellt sich heraus, dass der POST fehlschlägt, weil das SSL-Zertifikat "nicht vertrauenswürdig" ist.SSL-Zertifikat in meiner Azure-Webrolle ist "nicht vertrauenswürdig"

Die Tatsache, dass mein SSL-Zertifikat auch vollständig nicht korrekt verdrahtet ist durch die Untersuchung meiner Domain mit diesem Tool überprüft wird:

https://www.digicert.com/help

Ich verstehe, dass viele Clients (Webbrowser) haben die GoDaddy Zertifikatskette (das heißt, die "Zwischenzertifikate", die von meinem SSL-Zertifikat an die GoDaddy-Stammzertifizierungsstelle gelangen), in sie hineingebacken. Einige Clients (wie der Azure Scheduler) erwarten jedoch, dass mein Webserver nicht nur mein SSL-Zertifikat, sondern auch alle Zwischenzertifikate bis zur Stammzertifizierungsstelle bereitstellt.

Wie schließe ich die Zwischenzertifikate in meine Azure-Webrolle ein?

Hinweis: Ich stelle diese Frage in der Absicht, sie selbst zu beantworten (jetzt, wo ich seit einer Woche gekämpft habe, um es herauszufinden).

Antwort

3

Überblick über die Antwort

Sie müssen manuell die Zwischenzertifikate auf die Web-Rolle „Zertifikate“ (in Visual Studio) hinzufügen, und Sie müssen die Zwischenzertifikate auf Ihre Azure Web Role zu.

Schritt 1: Konvertieren Sie die p7b-Datei in ein pfx für den Upload auf Azure

Dieser Schritt von this article abgeleitet wird.

  1. Laden Sie Ihre Zertifikatsdateien von GoDaddy herunter. Dadurch erhalten Sie eine Zip-Datei, die eine crt Datei und eine p7b Datei enthält. Die CRT-Datei enthält Ihr SSL-Zertifikat, aber es ist nicht vollständig gebacken, bis Sie die CSR-Anfrage abschließen. Siehe unten für Details. Die p7b-Datei enthält die GoDaddy-Zwischenzertifikate.
  2. Füllen Sie die CSR-Anforderung mithilfe der CRT-Datei aus. Details siehe this SO answer.
  3. Öffnen Sie den Windows-Zertifikatsmanager (certlm.msc)
  4. Import der p7b-Datei in den Local computer/Intermediate Certifcation Authorities/Certificates Knoten.
  5. Exportieren Sie das SSL-Zertifikat und seine Abhängigkeiten als PFX-Datei. Dieser Schritt funktioniert, wenn Sie das Zertifikat mithilfe von Certificate Manager (certlm.msc) exportieren, aber nicht (soweit ich das beurteilen kann), wenn Sie das Zertifikat mithilfe des IIS-Managers exportieren. Suchen Sie Ihr SSL-Zertifikat im Knoten Personal/Certificates, klicken Sie mit der rechten Maustaste und wählen Sie Alle Aufgaben .../Exportieren. Weisen Sie den Assistenten an, den privaten Schlüssel zu exportieren und alle Zertifikate in den Pfad und alle erweiterten Eigenschaften aufzunehmen.

Schritt 2: Laden Sie die Zertifikate der Web Azure Role

Laden Sie die PFX-Datei, die Sie im vorherigen Schritt auf die Zertifikate in Ihrem Azure Web Role erstellt.Dadurch wird Ihr SSL-Zertifikat und alle Zwischenzertifikate bis zur Stammzertifizierungsstelle Ihrer Azure-Webrolle hinzugefügt.

Schritt 3: Fügen Sie die Zertifikate zu Ihrem Web Role Projekt

Dieser Schritt lose von this article abgeleitet ist.

  1. In Visual Studio, navigieren Sie zu Ihrem Web Role (Solution/Azure project/Roles/Your web role) mit der rechten Maustaste, und wählen Sie Eigenschaften
  2. im Eigenschaftenfenster, wählen Sie Zertifikate

Nun müssen Sie manuell ein hinzufügen neues Zertifikat (Sie fügen nur ein neues Zertifikat hinzu thumbprint) für jedes Zwischenzertifikat. Sie können die Fingerabdrücke entweder von der Azure Portal-Seite "Zertifikate" kopieren und einfügen oder (mit ein wenig zusätzlicher Arbeit) können Sie sie direkt aus dem lokalen Windows-Zertifikatspeicher abrufen.

Wenn Sie die Fingerabdrücke mit der eingebauten „lesen Sie das Zertifikat von meinem Computer“ Magie in Visual Studio erhalten möchten, müssen Sie zuerst:

  1. Öffnen Sie den Windows-Zertifikatsmanager (certlm.msc)
  2. importieren Sie die PFX-Datei Ihre Zwischenzertifikate in den Personal/Certificates Knoten

Inzwischen zurück in Visual Studio, für jedes Zwischenzertifikat enthält:

012.351.
  1. Klicken Sie auf "Zertifikat hinzufügen", dann
  2. Geben Sie einen aussagekräftigen Namen für das Zwischenzertifikat ein (der Name dient nur zu Ihrer Information; es wird für nichts verwendet)
  3. Legen Sie den Speichernamen zu CA fest.
  4. Geben Sie das Zertifikat Fingerabdruck ein. Sie können sie auf der Seite Webrolle/Zertifikate im Azure-Portal kopieren und einfügen. Wenn Sie die Zertifikate (wie oben beschrieben) in Ihren persönlichen Zertifikatspeicher importiert haben, können Sie sie abrufen, indem Sie im Fingerabdruck auf die Ellipsen klicken Box und Auswahl des Zertifikats.

Schritt 4: Veröffentlichen und Test

Puh. Nun haben Sie die Dateien p7b und crt in eine pfx-Datei konvertiert, die Ihr SSL-Zertifikat und die GoDaddy-Zertifikate enthält. Sie haben die Zertifikate in Azure hochgeladen und sie Ihrem Visual Studio-Projekt hinzugefügt.

Veröffentlichen Sie Ihr neues Projekt zu Azure. Sie können Ihre Website mit SSL eine dieser Online-Tools testen:

https://www.sslshopper.com/ssl-checker.html
https://www.digicert.com/help

Verwandte Themen