Registrieren Sie eine https-Bindung mit SNI, das in IIS 8 mit PowerShell Script aktiviert ist

8

Ich richte derzeit eine neue automatisierte Bereitstellung ein und möchte wissen, wie ich eine https-Bindung mit SNI, das auf IIS 8 aktiviert ist, programmgesteuert registrieren kann. Die Website existiert bereits und das SSL-Zertifikat ist bereits installiert.

Das Powershell-Skript enthält folgende Parameter:

  • Name der Website
  • SSL-Zertifikat-Fingerabdruck
  • Zu bindende Domäne

Angenommen, das SSL-Zertifikat ist bereits installiert.

Kann mir jemand helfen?

    
Base33 21.10.2014, 11:41
quelle

4 Antworten

13

Wenn Sie sagen, dass das Zertifikat bereits installiert ist und die Identität des Anwendungspools über eine Berechtigung für den privaten Schlüssel verfügt, sollten Sie in der Lage sein, eine neue Bindung wie diese zu registrieren:

%Vor%

Sie müssen natürlich die Variablen vor der Ausführung dieses Codes einstellen, aber diese sollten selbsterklärend sein.

Wenn Sie den Wert der Variablen $ sslFlags festlegen, sollte dies gemäß der folgenden Tabelle festgelegt werden:

%Vor%

In Ihrem Fall sollte dies auf 1 gesetzt werden, da Sie nicht den zentralen Zertifikatspeicher verwenden.

Sobald Sie die SSL-Bindung an Ort und Stelle haben, müssen Sie die Bindung mit dem richtigen Zertifikat verknüpfen. Ich habe durch Erfahrung gefunden, dass der einfachste Weg dies zu tun ist, den Befehl netsh.exe zu verwenden. Es ist möglich, Powershell direkt zu verwenden, aber nach vielen Stunden der Untersuchung und Adressierung verschiedener Probleme fand ich Netsh nur zuverlässiger.

Die Syntax hängt davon ab, wie die Bindung eingerichtet wird, aber wenn Sie SNI verwenden, dann benötigen Sie die folgende Syntax: (Machen Sie sich keine Sorgen über die appid, es ist nicht wichtig, was der Wert ist)

%Vor%

Dieser Code erfordert auch das Setzen von Variablen. Host-Header sollte der DNS-Name sein, an den Ihre Website gebunden ist, der Port wird höchstwahrscheinlich 443 sein und die Variable $ Thumbprint muss den Fingerabdruck oder den Hash des Zertifikats enthalten, das Sie verwenden werden. Sie können dies mithilfe des Zertifikatanbieters wie in diesem Code finden:

%Vor%

Ich hoffe, das hilft, wenn Sie weitere Hilfe benötigen, dann aktualisieren Sie die Frage. Ich habe in diesem Bereich viel Arbeit geleistet.

    
CarlR 22.10.2014, 16:33
quelle
3

Wenn Sie Netsh nicht verwenden möchten, können Sie auch eine SNI-Bindung (mit dem "Servername angeben" -Flag festlegen!) nur mit Powershell hinzufügen.

Hier ist der einfachste Ansatz, den ich für IIS8 finden könnte:

%Vor%

Hoffe das hilft jemandem! : -)

    
japi 23.05.2016 22:20
quelle
1

Es gibt tatsächlich eine Methode für das Bindungsobjekt, um ein SSL hinzuzufügen, das besser funktioniert als die beiden oben genannten Optionen

%Vor%     
Noah Sparks 06.12.2016 16:28
quelle
0

Wenn die Bindung bereits vorhanden ist, aber das Zertifikat fehlt (vorausgesetzt, Ihre Site verwendet Port 443):

%Vor%

Um auf das IIS PS-Laufwerk zugreifen zu können, müssen Sie das Modul webadministration importieren.

Wenn die Bindung noch nicht existiert, können Sie sie mit

erstellen %Vor%

Grüße

    
Paul 21.10.2014 14:11
quelle