配置本地设备健康证明服务器
您可以通过本地 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 服务器
-
在 Windows 服务器上,如果“服务器管理器”尚未打开,请单击“开始”,然后单击“服务器管理器”。
-
单击“添加角色和功能”。
-
在“开始之前”页面上,单击“下一步”。
-
在“选择安装类型”页面上,单击“基于角色或基于功能的安装”,然后单击“下一步”。
-
在“选择目标服务器”页面上,单击“从服务器池中选择服务器”,选择服务器,然后单击“下一步”。
-
在“选择服务器角色”页面上,选中“设备健康状况证明”复选框。
-
可选:单击“添加功能”以安装其他所需的角色服务和功能。
-
单击“下一步”。
-
在“选择功能”页面上,单击“下一步”。
-
在“Web 服务器角色 (IIS)”页面上,单击“下一步”。
-
在“选择角色服务”页面上,单击“下一步”。
-
在“设备健康状况证明服务”页面上,单击“下一步”。
-
在“确认安装选择”页面上,单击“安装”。
-
安装完成后,单击“关闭”。
将 SSL 证书添加到服务器的证书存储区
-
转到 SSL 证书文件并选择它。
-
选择 当前用户 作为存储位置,然后单击 下一步。

-
键入私钥的密码。
-
确保选中导入选项 包括所有扩展属性。单击 下一步。

-
当此窗口出现时,单击 是。

-
确认证书已安装:
-
打开“命令提示符”窗口。
-
键入 mmc 并按 Enter 键。要在本地计算机存储中查看证书,您必须具有管理员角色。
-
在“文件”菜单上,单击 添加/删除管理单元。
-
单击 添加。
-
在“添加独立管理单元”对话框中,选择 证书。
-
点击 添加。
-
在 证书管理单元 对话框中,选择 我的用户帐户。(如果您以服务帐户持有者身份登录,请选择 服务帐户。)
-
在“选择计算机”对话框中,点击 完成。

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

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

检索并保存证书的指纹
-
在文件资源管理器搜索栏中,键入 mmc。
-
在“控制台根目录”窗口中,点击 文件 > 添加/删除管理单元...。

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

-
选择 我的用户帐户。Windows 添加或删除管理单元的图像(/en-us/xenmobile/server/media/configure-dha-thumbprint3.png)
-
选择证书,然后单击 确定。Windows 添加或删除管理单元的图像(/en-us/xenmobile/server/media/configure-dha-thumbprint4.png)
-
双击证书并选择 详细信息 选项卡。向下滚动以查看证书指纹。Windows 添加或删除管理单元的图像(/en-us/xenmobile/server/media/configure-dha-thumbprint5.png)
-
将指纹复制到文件。在 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 "WIN-N27D1FKCEBT".
[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”。