XenMobile® Server

配置本地设备运行状况证明服务器

您可以通过本地 Windows 服务器为 Windows 10 和 Windows 11 移动设备启用设备运行状况证明 (DHA)。要启用本地 DHA,您首先需要配置一个 DHA 服务器。

配置 DHA 服务器后,您将创建一个 XenMobile Server 策略以启用本地 DHA 服务。有关创建此策略的信息,请参阅设备运行状况证明设备策略

DHA 服务器的先决条件

  • 运行 Windows Server Technical Preview 5 或更高版本,并使用“桌面体验”安装选项安装的服务器。
  • 一台或多台 Windows 10 和 Windows 11 客户端设备。这些设备必须具有运行最新版本 Windows 的 TPM 1.2 或 2.0。
  • 以下证书:
    • DHA SSL 证书: 链接到具有可导出私钥的企业受信任根的 x.509 SSL 证书。此证书可保护传输中的 DHA 数据通信,包括以下通信:
      • 服务器到服务器(DHA 服务和 MDM 服务器)
      • 服务器到客户端(DHA 服务和 Windows 10 或 Windows 11 设备)
    • DHA 签名证书: 链接到具有可导出私钥的企业受信任根的 x.509 证书。DHA 服务使用此证书进行数字签名。
    • DHA 加密证书: 链接到具有可导出私钥的企业受信任根的 x.509 证书。DHA 服务也使用此证书进行加密。
  • 选择以下证书验证模式之一:
    • EKCert: EKCert 验证模式针对未连接到 Internet 的组织中的设备进行了优化。连接到在 EKCert 验证模式下运行的 DHA 服务的设备无法直接访问 Internet。
    • AIKCert: AIKCert 验证模式针对可以访问 Internet 的操作环境进行了优化。连接到在 AIKCert 验证模式下运行的 DHA 服务的设备必须能够直接访问 Internet,并且可以从 Microsoft 获取 AIK 证书。

将 DHA 服务器角色添加到 Windows 服务器

  1. 在 Windows 服务器上,如果“服务器管理器”尚未打开,请单击“开始”,然后单击“服务器管理器”。
  2. 单击“添加角色和功能”。
  3. 在“开始之前”页面上,单击“下一步”。
  4. 在“选择安装类型”页面上,单击“基于角色或基于功能的安装”,然后单击“下一步”。
  5. 在“选择目标服务器”页面上,单击“从服务器池中选择服务器”,选择服务器,然后单击“下一步”。
  6. 在“选择服务器角色”页面上,选中“设备运行状况证明”复选框。
  7. 可选:单击“添加功能”以安装其他所需的角色服务和功能。
  8. 单击“下一步”。
  9. 在“选择功能”页面上,单击“下一步”。
  10. 在“Web 服务器角色 (IIS)”页面上,单击“下一步”。
  11. 在“选择角色服务”页面上,单击“下一步”。
  12. 在“设备运行状况证明服务”页面上,单击“下一步”。
  13. 在“确认安装选择”页面上,单击“安装”。
  14. 安装完成后,单击“关闭”。

将 SSL 证书添加到服务器的证书存储

  1. 转到 SSL 证书文件并选择它。
  2. 选择“当前用户”作为存储位置,然后单击“下一步”。

    Windows 服务器管理器图像

  3. 键入私钥的密码。

  4. 确保选中导入选项“包括所有扩展属性”。单击“下一步”。

    Windows 服务器管理器图像

  5. 当此窗口出现时,单击“”。

    Windows 服务器管理器图像

  6. 确认证书已安装:

    1. 打开“命令提示符”窗口。

    2. 键入 mmc 并按 Enter 键。要查看本地计算机存储中的证书,您必须具有管理员角色。

    3. 在“文件”菜单上,单击“添加/删除管理单元”。

    4. 单击“添加”。

    5. 在“添加独立管理单元”对话框中,选择“证书”。

    6. 单击“添加”。

    7. 在“证书管理单元”对话框中,选择“我的用户帐户”。(如果您以服务帐户持有者身份登录,请选择“服务帐户”。)

    8. 在“选择计算机”对话框中,单击“完成”。

      Windows 服务器管理器图像

  7. 转到“服务器管理器 > IIS”,然后从图标列表中选择“服务器证书”。

    Windows 服务器管理器图像

  8. 从“操作”菜单中,选择“导入…”以导入 SSL 证书。

    Windows 服务器管理器图像

检索并保存证书指纹

  1. 在“文件资源管理器”搜索栏中,键入 mmc
  2. 在“控制台根目录”窗口中,单击“文件 > 添加/删除管理单元…”。

    Windows 文件资源管理器图像

  3. 从可用管理单元中选择证书,并将其添加到选定的管理单元。

    Windows 添加或删除管理单元图像

  4. 选择“我的用户帐户”。

    Windows 添加或删除管理单元图像

  5. 选择证书,然后单击“确定”。

    Windows 添加或删除管理单元图像

  6. 双击证书并选择“详细信息”选项卡。向下滚动以查看证书指纹。

    Windows 添加或删除管理单元图像

  7. 将指纹复制到文件中。在 PowerShell 命令中使用指纹时,请删除空格。

安装签名和加密证书

在 Windows 服务器上运行以下 PowerShell 命令以安装签名和加密证书。

替换占位符 ReplaceWithThumbprint,并按所示将其括在双引号中。

$key = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -like "ReplaceWithThumbprint"}

$keyname = $key.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName

$keypath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\" + $keyname icacls $keypath /grant IIS_IUSRS`:R
<!--NeedCopy-->

提取 TPM 根证书并安装受信任的证书包

在 Windows 服务器上运行以下命令:

mkdir .\TrustedTpm

expand -F:\* .\TrustedTpm.cab .\TrustedTpm

cd .\TrustedTpm

.\setup.cmd
<!--NeedCopy-->

配置 DHA 服务

在 Windows 服务器上运行此命令以配置 DHA 服务。

替换占位符 ReplaceWithThumbprint。

Install-DeviceHealthAttestation -EncryptionCertificateThumbprint ReplaceWithThumbprint

-SigningCertificateThumbprint ReplaceWithThumbprint

-SslCertificateStoreName My -SslCertificateThumbprint ReplaceWithThumbprint

-SupportedAuthenticationSchema "AikCertificate"
<!--NeedCopy-->

在 Windows 服务器上运行以下命令以设置 DHA 服务的证书链策略:

$policy = Get-DHASCertificateChainPolicy

$policy.RevocationMode = "NoCheck"

Set-DHASCertificateChainPolicy -CertificateChainPolicy $policy
<!--NeedCopy-->

按如下方式响应这些提示:

  确认

    您确定要执行此操作吗?

    正在对目标“WIN-N27D1FKCEBT”执行操作“Install-DeviceHealthAttestation”。

    [Y] 是  [A] 全是  [N] 否  [L] 全否  [S] 暂停  [?] 帮助 (默认值为 "Y"): A

    正在将 SSL 绑定添加到网站“Default Web Site”。

    添加 SSL 绑定?

    [Y] 是  [N] 否  [S] 暂停  [?] 帮助 (默认值为 "Y"): Y

    正在将应用程序池“DeviceHealthAttestation_AppPool”添加到 IIS。

    添加应用程序池?

    [Y] 是  [N] 否  [S] 暂停  [?] 帮助 (默认值为 "Y"): Y

    正在将 Web 应用程序“DeviceHealthAttestation”添加到网站“Default Web Site”。

    添加 Web 应用程序?

    [Y] 是  [N] 否  [S] 暂停  [?] 帮助 (默认值为 "Y"): Y

    正在添加防火墙规则“设备运行状况证明服务”以允许端口“443”上的入站连接。

    添加防火墙规则?

    [Y] 是  [N] 否  [S] 暂停  [?] 帮助 (默认值为 "Y"): Y

    正在设置设备运行状况证明服务的初始配置。

    设置初始配置?

    [Y] 是  [N] 否  [S] 暂停  [?] 帮助 (默认值为 "Y"): Y

    正在注册用户访问日志记录。

    注册用户访问日志记录?

    [Y] 是  [N] 否  [S] 暂停  [?] 帮助 (默认值为 "Y"): Y
<!--NeedCopy-->

检查配置

要在服务器上检查 DHASActiveSigningCertificate 是否处于活动状态,请运行以下命令:

Get-DHASActiveSigningCertificate
<!--NeedCopy-->

如果证书处于活动状态,则会显示证书类型(签名)和指纹。

要在服务器上检查 DHASActiveSigningCertificate 是否处于活动状态,请运行以下命令:

替换占位符 ReplaceWithThumbprint,并按所示将其括在双引号中。

Set-DHASActiveEncryptionCertificate -Thumbprint "ReplaceWithThumbprint" -Force

Get-DHASActiveEncryptionCertificate
<!--NeedCopy-->

如果证书处于活动状态,则会显示指纹。

要进行最终检查,请访问此 URL:

https://<dha.myserver.com>/DeviceHeathAttestation/ValidateHealthCertificate/v1

如果 DHA 服务正在运行,则会显示“Method not allowed”。

DHA 服务检查图像