Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Windows Device Portal (WDP) umożliwia administratorom urządzeń zainstalowanie niestandardowego certyfikatu na potrzeby 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 WDP generuje samopodpisany główny urząd certyfikacji, a następnie używa go do podpisywania certyfikatów SSL dla każdego punktu końcowego, na którym nasłuchuje.
localhostObejmuje to elementy , 127.0.0.1i ::1 (IPv6 localhost).
Uwzględnione są również nazwa hosta urządzenia (na przykład https://LivingRoomPC) oraz każdy lokalny dla łącza adres IP przypisany do urządzenia (maksymalnie dwa [IPv4, IPv6] na kartę sieciową).
Lokalne adresy IP łącza urządzenia można zobaczyć w narzędziu Networking w WDP. Będą one rozpoczynać się od 10. lub 192. dla protokołu IPv4 lub fe80: dla protokołu IPv6.
Przy domyślnej konfiguracji w przeglądarce może pojawić się ostrzeżenie dotyczące certyfikatu 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 rozwiązać przez utworzenie nowego zaufanego głównego urzędu 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. Uruchom ten skrypt z poziomu monitu programu PowerShell uruchomionego z podwyższonymi uprawnieniami administratora, ponieważ zapisuje w LocalMachine\My magazynie certyfikatów. Skrypt tworzy główny urząd certyfikacji o nazwie WdpTestCA.cer. Zainstalowanie tego pliku na zaufanych głównych urzędach certyfikacji komputera lokalnego spowoduje, że urządzenie będzie ufać certyfikatom SSL podpisanym 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 (marked as a CA via Basic Constraints)
$FilePath = $OutputPath + "WdpTestCA.cer"
$Subject = "CN=" + $CN
$rootCA = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -Subject $Subject -HashAlgorithm "SHA512" -KeyUsage CertSign,CRLSign -TextExtension @("2.5.29.19={critical}{text}CA=true")
$rootCAFile = Export-Certificate -Cert $rootCA -FilePath $FilePath
Główny urząd certyfikacji znajduje się teraz w LocalMachine\My lokalizacji (z jego kluczem prywatnym). Wyeksportowany WdpTestCA.cer to certyfikat publiczny instalowany w zaufanych głównych urzędach certyfikacji na każdym połączonym komputerze.
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órym nasłuchuje WDP, wymaga własnego certyfikatu; w skrypcie możesz zastąpić argument $IssuedTo każdym z różnych punktów końcowych dla twojego urządzenia: nazwą hosta, localhost i adresami IP. Ten skrypt wymaga również monitu programu PowerShell z podwyższonym poziomem uprawnień . Filtr Get-ChildItem używa tej samej nazwy CN (PickAName) wybranej w kroku 1 — zachowaj ich synchronizację.
$IssuedTo = "localhost"
$Password = "PickAPassword"
$OutputPath = "c:\temp\"
# Retrieve the root CA (with its private key) from the store where it was created.
# Match the CN you used above.
$rootCA = Get-ChildItem -Path cert:\localmachine\my | Where-Object { $_.Subject -eq "CN=PickAName" -and $_.HasPrivateKey } | Select-Object -First 1
# 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 wykorzystać pliki localhost .pfx, ale nadal musisz osobno utworzyć certyfikaty adresu IP i nazwy hosta dla każdego urządzenia.
Po wygenerowaniu pakietu plików pfx należy załadować je do protokołu WDP.
Aprowizuj portal urządzeń 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 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, że strona z ostrzeżeniem o certyfikacie ponownie pojawi się 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ń Windows. Pozostaną one takie same niezależnie od adresów IP.