Freigeben über


Bereitstellen des Windows Device Portal mit einem benutzerdefinierten SSL-Zertifikat

Das Windows Device Portal (WDP) bietet geräteadministratoren die Möglichkeit, ein benutzerdefiniertes Zertifikat für die Verwendung in der HTTPS-Kommunikation zu installieren.

Obwohl Sie dies auf Ihrem eigenen PC ausführen können, ist dieses Feature in erster Linie für Unternehmen vorgesehen, die über eine vorhandene Zertifikatinfrastruktur verfügen.

Beispielsweise kann ein Unternehmen über eine Zertifizierungsstelle verfügen, die zum Signieren von Zertifikaten für Intranetwebsites verwendet wird, die über HTTPS bereitgestellt werden. Diese Funktion basiert auf dieser Infrastruktur.

Überblick

Standardmäßig generiert WDP eine selbstsignierte Root-CA und nutzt diese zum Signieren von SSL-Zertifikaten für jeden Endpunkt, den es überwacht. Dazu gehören localhost, und 127.0.0.1::1 (IPv6 localhost).

Ebenfalls enthalten sind der Hostname des Geräts (z. B. https://LivingRoomPC) und jede dem Gerät zugewiesene link-lokale IP-Adresse (bis zu zwei [IPv4, IPv6] pro Netzwerkadapter). Sie können die Link-local-IP-Adressen eines Geräts anzeigen, indem Sie das Netzwerkwerkzeug im WDP betrachten. Sie beginnen mit 10. oder 192. für IPv4 oder fe80: für IPv6.

Im Standardsetup wird möglicherweise eine Zertifikatwarnung in Ihrem Browser aufgrund der nicht vertrauenswürdigen Stammzertifizierungsstelle angezeigt. Insbesondere wird das von WDP bereitgestellte SSL-Zertifikat von einer Root-CA signiert, die vom Browser oder PC nicht anerkannt wird. Dies kann durch das Erstellen einer neuen vertrauenswürdigen Stammzertifizierungsstelle behoben werden.

Erstellen einer Stammzertifizierungsstelle

Dies sollte nur erfolgen, wenn Ihr Unternehmen (oder Ihr Zuhause) keine Zertifikatinfrastruktur eingerichtet hat und nur einmal durchgeführt werden sollte. Das folgende PowerShell-Skript erstellt eine Stammzertifizierungsstelle mit dem Namen WdpTestCA.cer. Wenn Sie diese Datei zu den vertrauenswürdigen Stammzertifizierungsstellen des lokalen Computers hinzufügen, wird Ihr Gerät SSL-Zertifikaten vertrauen, die von dieser Stammzertifizierungsstelle ausgestellt wurden. Sie können (und sollten) diese .cer Datei auf jedem PC installieren, den Sie mit WDP verbinden möchten.

$CN = "PickAName"
$OutputPath = "c:\temp\"

# Create root certificate authority
$FilePath = $OutputPath + "WdpTestCA.cer"
$Subject =  "CN="+$CN
$rootCA = New-SelfSignedCertificate -certstorelocation cert:\currentuser\my -Subject $Subject -HashAlgorithm "SHA512" -KeyUsage CertSign,CRLSign
$rootCAFile = Export-Certificate -Cert $rootCA -FilePath $FilePath

Nachdem dies erstellt wurde, können Sie die WdpTestCA.cer Datei zum Signieren von SSL-Zertifikaten verwenden.

Erstellen eines SSL-Zertifikats mit der Stammzertifizierungsstelle

SSL-Zertifikate haben zwei wesentliche Funktionen: die Sicherung Ihrer Verbindung durch Verschlüsselung und die Überprüfung, ob Sie tatsächlich mit der in der Browserleiste angezeigten Adresse kommunizieren (Bing.com, 192.168.1.37 usw.) und nicht mit einem böswilligen Dritten.

Das folgende PowerShell-Skript erstellt ein SSL-Zertifikat für den localhost Endpunkt. Jeder Endpunkt, auf den WDP lauscht, benötigt ein eigenes Zertifikat; Sie können das $IssuedTo Argument im Skript durch jeden der verschiedenen Endpunkte für Ihr Gerät ersetzen: hostname, localhost und die IP-Adressen.

$IssuedTo = "localhost"
$Password = "PickAPassword"
$OutputPath = "c:\temp\"
$rootCA = Import-Certificate -FilePath C:\temp\WdpTestCA.cer -CertStoreLocation Cert:\CurrentUser\My\

# Create SSL cert signed by certificate authority
$IssuedToClean = $IssuedTo.Replace(":", "-").Replace(" ", "_")
$FilePath = $OutputPath + $IssuedToClean + ".pfx"
$Subject = "CN="+$IssuedTo
$cert = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -Subject $Subject -DnsName $IssuedTo -Signer $rootCA -HashAlgorithm "SHA512"
$certFile = Export-PfxCertificate -cert $cert -FilePath $FilePath -Password (ConvertTo-SecureString -String $Password -Force -AsPlainText)

Wenn Sie über mehrere Geräte verfügen, können Sie die localhost-PFX-Dateien wiederverwenden, aber Sie müssen weiterhin IP-Adressen- und Hostnamenzertifikate für jedes Gerät separat erstellen.

Wenn das Bündel von .pfx-Dateien erstellt worden ist, müssen Sie es in den WDP laden.

Bereitstellen des Windows Device Portals mit den Zertifizierungen

Für jede .pfx-Datei, die Sie für ein Gerät erstellt haben, müssen Sie den folgenden Befehl in einer Eingabeaufforderung mit Administratorrechten ausführen.

WebManagement.exe -SetCert <Path to .pfx file> <password for pfx>

Siehe unten für Beispiele zur Verwendung:

WebManagement.exe -SetCert localhost.pfx PickAPassword
WebManagement.exe -SetCert --1.pfx PickAPassword
WebManagement.exe -SetCert MyLivingRoomPC.pfx PickAPassword

Nachdem Sie die Zertifikate installiert haben, starten Sie den Dienst einfach neu, damit die Änderungen wirksam werden können:

sc stop webmanagement
sc start webmanagement

Tipp

IP-Adressen können sich im Laufe der Zeit ändern. Viele Netzwerke verwenden DHCP, um IP-Adressen zu vergeben, sodass Geräte nicht immer dieselbe IP-Adresse erhalten, die sie zuvor hatten. Wenn Sie ein Zertifikat für eine IP-Adresse auf einem Gerät erstellt haben und die Adresse dieses Geräts geändert wurde, generiert WDP mithilfe des vorhandenen selbstsignierten Zertifikats ein neues Zertifikat, und es wird die Verwendung des von Ihnen erstellten Zertifikats beendet. Dadurch wird die Zertifikatwarnungsseite erneut in Ihrem Browser angezeigt. Aus diesem Grund empfehlen wir, über ihre Hostnamen eine Verbindung mit Ihren Geräten herzustellen, die Sie im Windows Device Portal festlegen können. Diese bleiben unabhängig von IP-Adressen gleich.