配置本地设备健康证明服务器

Last published : Oct 21, 2026
您可以通过本地 Windows 服务器为 Windows 10 和 Windows 11 移动设备启用设备健康证明 (DHA)。要在本地启用 DHA,您首先需要配置 DHA 服务器。
配置 DHA 服务器后,您需要创建 Citrix Endpoint Management 策略以启用本地 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

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

在 Windows 服务器上运行以下命令:
mkdir .\TrustedTpm

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

cd .\TrustedTpm

.\setup.cmd

配置 DHA 服务

在 Windows 服务器上运行此命令以配置 DHA 服务。
替换占位符 ReplaceWithThumbprint。
Install-DeviceHealthAttestation -EncryptionCertificateThumbprint ReplaceWithThumbprint

-SigningCertificateThumbprint ReplaceWithThumbprint

-SslCertificateStoreName My -SslCertificateThumbprint ReplaceWithThumbprint

-SupportedAuthenticationSchema "AikCertificate"
在 Windows 服务器上运行以下命令,为 DHA 服务设置证书链策略:
$policy = Get-DHASCertificateChainPolicy

$policy.RevocationMode = "NoCheck"

Set-DHASCertificateChainPolicy -CertificateChainPolicy $policy
按如下方式响应这些提示:
  Confirm

    Are you sure you want to perform this action?

    Performing the operation "Install-DeviceHealthAttestation" on target "[Machine Name]".

    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A

    Adding SSL binding to website 'Default Web Site'.

    Add SSL binding?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Adding application pool 'DeviceHealthAttestation_AppPool' to IIS.

    Add application pool?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Adding web application 'DeviceHealthAttestation' to website 'Default Web Site'.

    Add web application?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Adding firewall rule 'Device Health Attestation Service' to allow inbound connections on port(s) '443'.

    Add firewall rule?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Setting initial configuration for Device Health Attestation Service.

    Set initial configuration?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Registering User Access Logging.

    Register User Access Logging?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

检查配置

要检查 DHASActiveSigningCertificate 是否处于活动状态,请在服务器上运行以下命令:
Get-DHASActiveSigningCertificate
如果证书处于活动状态,则会显示证书类型(签名)和指纹。
要检查 DHASActiveSigningCertificate 是否处于活动状态,请在服务器上运行以下命令:
替换占位符 ReplaceWithThumbprint,并如所示将其用双引号括起来。
Set-DHASActiveEncryptionCertificate -Thumbprint "ReplaceWithThumbprint" -Force

Get-DHASActiveEncryptionCertificate
如果证书处于活动状态,则会显示指纹。
要进行最终检查,请访问此 URL:
https://<dha.myserver.com>/DeviceHeathAttestation/ValidateHealthCertificate/v1
如果 DHA 服务正在运行,则会显示“Method not allowed”。
DHA 服务检查