Udostępnij przez


Aprowizuj portal urządzeń z systemem Windows przy użyciu niestandardowego certyfikatu SSL

Portal urządzeń z systemem Windows (WDP) umożliwia administratorom urządzeń zainstalowanie niestandardowego certyfikatu do użycia w komunikacji HTTPS.

Chociaż można to zrobić na własnym komputerze, ta funkcja jest przeznaczona głównie dla przedsiębiorstw, które mają istniejącą infrastrukturę certyfikatów.

Na przykład firma może mieć urząd certyfikacji używany do podpisywania certyfikatów dla intranetowych witryn internetowych obsługiwanych za pośrednictwem protokołu HTTPS. Ta funkcja znajduje się na szczycie tej infrastruktury.

Przegląd

Domyślnie protokół WDP generuje główny urząd certyfikacji z podpisem własnym, a następnie używa go do podpisywania certyfikatów SSL dla każdego punktu końcowego, na który nasłuchuje. Obejmuje to localhost, 127.0.0.1i ::1 (localhost IPv6).

Uwzględniana jest również nazwa hosta urządzenia (na przykład https://LivingRoomPC) i każdy lokalny adres IP przypisany do urządzenia (do dwóch [IPv4, IPv6] na adapter sieciowy). Adresy IP link-localne dla urządzenia można wyświetlić, przeglądając narzędzie sieciowe w WDP. Będą one rozpoczynać się od 10. lub 192. dla protokołu IPv4 lub fe80: dla protokołu IPv6.

W domyślnej konfiguracji w przeglądarce może pojawić się ostrzeżenie o certyfikacie z powodu niezaufanego głównego urzędu certyfikacji. W szczególności certyfikat SSL dostarczony przez usługę WDP jest podpisany przez główny urząd certyfikacji, któremu przeglądarka lub komputer nie ufa. Można to naprawić, tworząc nowy zaufany główny urząd certyfikacji.

Utwórz główny urząd certyfikacji

Należy to zrobić tylko wtedy, gdy firma (lub dom) nie ma skonfigurowanej infrastruktury certyfikatów i powinna być wykonywana tylko raz. Skrypt programu PowerShell, przedstawiony poniżej, tworzy główny urząd certyfikacji o nazwie WdpTestCA.cer. Zainstalowanie tego pliku w głównych zaufanych urzędach certyfikacji na komputerze lokalnym spowoduje, że urządzenie będzie ufać certyfikatom SSL, które są podpisane przez ten główny urząd certyfikacji. Możesz (i powinien) zainstalować ten plik .cer na każdym komputerze, który ma zostać połączony z protokołem WDP.

$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

Po utworzeniu tego pliku można użyć pliku WdpTestCA.cer do podpisania certyfikatów SSL.

Tworzenie certyfikatu SSL z głównym urzędem certyfikacji

Certyfikaty SSL mają dwie krytyczne funkcje: zabezpieczanie połączenia za pomocą szyfrowania i weryfikowanie, czy faktycznie komunikujesz się z adresem wyświetlanym na pasku przeglądarki (Bing.com, 192.168.1.37 itp.) i nie jest złośliwą stroną trzecią.

Poniższy skrypt programu PowerShell tworzy certyfikat SSL dla punktu końcowego localhost. Każdy punkt końcowy, na który nasłuchuje protokół WDP, wymaga własnego certyfikatu; Argument $IssuedTo można zastąpić w skrypcie każdym z różnych punktów końcowych urządzenia: nazwą hosta, hostem lokalnym i adresami IP.

$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)

Jeśli masz wiele urządzeń, możesz ponownie użyć plików .pfx localhost, ale nadal musisz utworzyć certyfikaty adresu IP i nazwy hosta dla każdego urządzenia osobno.

Po wygenerowaniu pakietu plików pfx należy załadować je do protokołu WDP.

Aprowizuj portal urządzeń z systemem Windows przy użyciu certyfikatów

Dla każdego pliku pfx utworzonego dla urządzenia należy uruchomić następujące polecenie w wierszu polecenia z podwyższonym poziomem uprawnień.

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

Poniżej przedstawiono przykładowe użycie:

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

Po zainstalowaniu certyfikatów po prostu uruchom ponownie usługę, aby zmiany mogły zostać zastosowane:

sc stop webmanagement
sc start webmanagement

Wskazówka

Adresy IP mogą się zmieniać w czasie. Wiele sieci używa protokołu DHCP do przekazywania adresów IP, więc urządzenia nie zawsze otrzymują ten sam adres IP, który wcześniej miał. Jeśli utworzono certyfikat dla adresu IP na urządzeniu i ten adres urządzenia uległ zmianie, sieć WDP wygeneruje nowy certyfikat przy użyciu istniejącego certyfikatu z podpisem własnym i przestanie używać utworzonego certyfikatu. Spowoduje to ponowne wyświetlenie strony ostrzeżenia o certyfikacie w przeglądarce. Z tego powodu zalecamy nawiązanie połączenia z urządzeniami za pośrednictwem ich nazw hostów, które można ustawić w portalu urządzeń z systemem Windows. Pozostaną one takie same niezależnie od adresów IP.