更新 Windows Admin Center 使用的证书

将 Windows Admin Center 部署为服务时,必须为 HTTPS 提供证书。 TLS 证书在保护 WAC 网关与连接的设备之间的通信方面起着关键作用。 通过加密数据和对标识进行身份验证,这些证书可增强系统的完整性和安全性。

如果以下情况,可能需要更新证书:

  • 你有一个新的 CA
  • 你的现有私钥已披露
  • 需要续订证书

若要更新此证书,请按照本文中的指南进行作。

先决条件

若要更新 Windows Admin Center 使用的证书,需要满足以下先决条件:

  • 安装了 Windows Admin Center 的 Windows 电脑或服务器。

  • 你正在使用 Windows Admin Center 的计算机上的管理权限或等效权限。

  • TLS 证书,其为:

    • 为服务器身份验证颁发。
    • 由 Windows Admin Center 计算机和客户端信任的证书颁发机构颁发。
    • 对用于访问 Windows Admin Center 的完全限定域名(FQDN)或 IP 地址有效。
    • 包含私钥。

注释

不建议将自签名证书用于生产环境中的 Windows Admin Center。

更新证书

  1. 登录到计算机。 如果使用的是服务器核心,请在 SConfig 菜单中输入选项 15,然后按 Enter 打开 PowerShell 会话。 如果使用的是桌面体验,请通过远程桌面进入 VM 并启动 PowerShell。

  2. 使用以下命令导入 Windows Admin Center 配置 PowerShell 模块:

    Import-Module "$env:ProgramFiles\WindowsAdminCenter\PowerShellModules\Microsoft.WindowsAdminCenter.Configuration" 
    
  3. 使用证书的使用者名称应用新证书。 确保证书使用唯一的主题名称。 可以在计算机上的证书存储中找到 LocalMachine\My\ 使用者名称。

    Get-ChildItem -Path Cert:\LocalMachine\My
    
    Set-WACCertificateSubjectName -SubjectName "<subject name>" 
    

    或者,可以使用指纹参数使用证书的 SHA1 指纹 。 可以在计算机上的证书存储中找到 LocalMachine\My\ 指纹。

    Set-WACCertificateSubjectName -Thumbprint "<thumbprint>"
    
  4. 更新证书访问控制列表,以授予 网络服务 帐户访问证书的权限。 使用以下命令,替换为 <subject name> 证书的使用者名称:

    Set-WACCertificateAcl -SubjectName "<subject name>" 
    
  5. 必须重启 Windows Admin Center 服务才能使更改生效。 使用以下命令重启 Windows Admin Center 服务:

    Restart-Service -Name WindowsAdminCenter
    

Troubleshooting

可以使用不同的工具来查找日志和错误消息。 以下是要使用的最佳诊断工具:

  • 事件查看器:利用 WindowsAdminCenter 事件日志下的事件查看器来诊断与 TLS 证书注册过程相关的任何问题。 此工具提供了有助于查明特定错误的详细日志。
  • 浏览器错误:如果 WAC 服务已正确设置,但浏览器指示错误,请验证 TLS 证书的配置并确保它与所需的安装参数匹配。
  • Ajax 错误:尝试使用无效证书打开连接时,可能会出现 Ajax 错误。 若要避免此问题,请确保正确安装和验证证书。

常见问题

  • 证书无效

    • 证书可能无效。 这显示为“无效的证书”。
    • 即使 WindowsAdminCenter 事件日志上未看到错误,浏览器也可能在地址栏上指示证书状态无效。 如果与子进程通信时使用了无效的证书,则无法使用 WACv2。
    • 不应生成自签名证书,因为它是安全问题。
  • DNS 名称不匹配

    • 证书 DNS 名称可能与 WAC DNS 名称不同。
    • 如果未解决此问题,WAC 可能无法工作或导致错误。
  • 指纹错误或不准确

    • 检查指纹是否存在、正确注册,并且与预期的指纹不匹配。 WAC 可能无法检测到证书。
  • 未配置为由网络服务访问的私钥

    • HTTPS 协议层读取证书的私钥,以在通过 HTTPS 协议进行通信时加密 TLS 有效负载。
    • WAC 使用网络服务帐户,因此必须可通过网络服务访问私钥。 使用 certlm.msc 工具选择“所有任务”菜单以打开 “管理私钥...” 对话框。
    • 确保 NETWORK SERVICE 配置为访问私钥。
  • 网络、策略和防火墙配置问题

    • 如果限制 TLS 通信,则 WAC 网关可能无法访问证书。 这可能是防火墙或 GPO 问题。