WindowsAdminCenter2410 安装长期自签名TLS证书方法

Kevin Tsang Lv2

WindowsAdminCenter2410 安装长期自签名TLS证书方法

WindowsAdminCenter2410 版本对于证书有玄学要求,自带的自签名证书60天后就会过期,且v2不再支持http访问,为此折腾了一万年,故作此记录。

WAC(Windows Admin Center)是什么?有什么功能?

Windows Admin Center (WAC) 是微软开发的一款基于浏览器的图形化管理工具,用于管理 Windows Server 和 Windows 10/11 等操作系统以及运行在这些系统上的各种服务和应用程序。它旨在简化服务器管理,并提供现代化、集成的体验。  WAC 不需要在本地安装任何软件,它通过浏览器连接到被管理的服务器,并利用服务器上的 PowerShell 和 WMI 等技术进行管理。

WAC 的主要功能包括:

  • 服务器管理:  管理服务器的核心功能,例如证书、设备、事件、文件、防火墙、网络、进程、注册表、角色和功能、存储、更新等等。  WAC 提供了直观的界面来执行这些任务,比传统的服务器管理器或命令行工具更加用户友好。
  • 虚拟化管理: 管理 Hyper-V 虚拟机和虚拟交换机,包括创建、启动、停止、配置和监控虚拟机。  WAC 提供了类似于 Hyper-V 管理器的功能,但可以直接在浏览器中使用。
  • 故障转移群集管理: 管理故障转移群集,包括创建、配置和监控群集节点和资源。
  • 存储空间直通管理: 管理存储空间直通,包括创建、配置和监控存储池、虚拟磁盘和存储层。
  • 软件定义网络 (SDN) 管理:  管理 SDN 基础架构,包括网络控制器、虚拟网络和网络策略。
  • Azure 集成:  将本地服务器与 Azure 服务集成,例如 Azure Backup、Azure Site Recovery 和 Azure Monitor。  这使得混合云管理更加便捷。
  • 扩展性: WAC 支持通过扩展添加新的功能和管理工具。  微软和第三方开发者都提供了各种扩展,以支持不同的应用程序和服务。  这使得 WAC 成为一个高度可定制的平台。
  • 远程管理:  可以通过 WAC 远程管理多台服务器,无需在每台服务器上安装管理工具。

其实WAC可以不用必须安装在Windows Server上。至少对于2410版本而言,成功在Windows11 Pro上安装运行,并未受到任何限制。

生成自签名证书

重要:WindowsAdminCenter无法在安装之后更改证书

理论上,可以使用Openssl生成自签名的证书/密钥(如.pfx文件),并在服务器上安装。但是2410版本可能出现openssl签出来的证书不识别/不在安装程序中显示的问题。

因此,使用微软给出的.net下的方法:

将下面的powershell脚本保存为wac_cert.ps1,然后使用管理员身份打开powershell,执行powershell.exe <./wac_cert.ps1>(取决于脚本文件的位置)

或者使用管理员权限的Windows Powershell ISE运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

# Create a root certificate authority and specify the IP Address and DNS Hostname
# The certificate is valid for 20 years
$myIP = "localhost"
$myHostName = "Your_FQDN" #此处设置的FQDN要和WAC安装程序中指定的完全一致

$rootCert = New-SelfSignedCertificate `
-CertStoreLocation Cert:\CurrentUser\My `
-Subject "Root CA For Windows Admin Center - $myHostName" `
-TextExtension @("2.5.29.19={text}CA=true","2.5.29.17={text}IPAddress=$($myIP)&DNS=$($myHostName)") `
-KeyUsage CertSign,CrlSign,DigitalSignature `
-NotAfter (Get-Date).AddYears(20)

# Password protect and export the root certificate authority to be imported on the target machine (client)
[System.Security.SecureString]$rootCertPassword = ConvertTo-SecureString -String "password" -Force -AsPlainText
[String]$rootCertPath = Join-Path -Path 'cert:\CurrentUser\My\' -ChildPath "$($rootCert.Thumbprint)"
Export-Certificate -Cert $rootCertPath -FilePath "RootCA_$($myHostName).crt"

# Create a self signed client certificate and specify the IP Address and DNS Hostname
# Certificate is valid for 10 years
$testCert = New-SelfSignedCertificate `
-CertStoreLocation Cert:\LocalMachine\My `
-Subject "Windows Admin Center - $myHostName - (Self-Signed)" `
-TextExtension @("2.5.29.17={text}IPAddress=$($myIP)&DNS=$($myHostName)") `
-KeyExportPolicy Exportable `
-KeyLength 2048 `
-NotAfter (Get-Date).AddYears(10) `
-KeyUsage DigitalSignature,KeyEncipherment `
-Signer $rootCert

# Add the certificate to the certificate store and export it
[String]$testCertPath = Join-Path -Path 'cert:\LocalMachine\My\' -ChildPath "$($testCert.Thumbprint)"
# Export-PfxCertificate -Cert $testCertPath -FilePath testcert.pfx -Password $rootCertPassword
Export-Certificate -Cert $testCertPath -FilePath "clientcert_$($myHostName).crt"

脚本会在powershell运行的位置下生成两个文件,一个是Root_CA,一个是Client_Cert,在需要安装WAC的服务器上安装这两个证书(双击证书安装,或者使用mmc.exe导入):

  • Client_Cert需要安装在LocalMachine/Personal下,提供给WAC;
  • Root_CA需要安装在LocalMachine/Trusted Root Certification Authorities下(如果不安装,浏览器打开WAC的网页会有警告)

没有意外的话,WAC的安装程序就可以识别到该证书以及对应指纹了(如果是旧版安装程序,可以查看Client_Cert的指纹并复制过去)

修改证书权限(2410版本)

在安装好WAC之后,会发现此时WAC的管理网页是打不开的(一般是提示Connection Closed/ Connection Rufused,且浏览器会提示网页无证书),此时需要如下设置:

  • 打开mmc.exe - File - Add or Remove Snap-ins 选择Certificates(证书)
        - 请注意LocalMachine下的证书无法通过certmgr.msc管理

  • LocalMachine - Personal - Certificates下找到刚刚你安装的的Client_Cert

  • 右键 - All Tasks(所有任务) - Manage Private Keys(管理私钥)

  • 在安全对话框中,单击 Add(添加) 按钮

  • 在文本框中键入 “Network Service” (大小写无关紧要)。单击 Check Names (检查)以确保输入的名称正确

  • 返回安全对话框,将出现一个名为 NETWORK SERVICE 的项目。Windows 默认会给它完全控制权限。请将其缩减为/仅勾选为 “Read”(只读)。单击 OK(确认)。

现在WAC能正常打开了。

后语

说实话我觉得微软挺恶心人的,这玩意对TLS证书有严格的要求,但是连个指引文档都没有。

此外,如果你使用的是Tunnel之类的服务将你的FQDN地址从内网映射到了外网,请在安装程序中设置使用HTML的登录方法(推荐)而不是拉起Windows认证的方法。

后者会在外网访问的时候无限弹认证框,且似乎无法在非Windows设备上访问。

HTML的登陆方法下,登陆账号是你电脑的用户名而非Microsoft账户名。

参考文献

  • Title: WindowsAdminCenter2410 安装长期自签名TLS证书方法
  • Author: Kevin Tsang
  • Created at : 2025-02-06 00:00:00
  • Updated at : 2025-03-31 04:38:16
  • Link: https://blog.infrost.site/2025/02/06/WindowsAdminCenterInstall2410/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments