这篇文章已经过机器翻译.放弃
配置本地设备运行状况证明服务器
可以通过本地 Windows Server 为 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 服务还使用此证书进行加密。
-
DHA SSL 证书: 链接到具有可导出的私钥的企业可信根证书的 x.509 SSL 证书。此证书保护传输过程中的 DHA 数据通信,包括:
- 请选择下面的其中一种证书验证模式:
- EKCert: EKCert 验证模式已针对组织中未连接到 Internet 的设备进行优化。连接到在 EKCert 验证模式下运行的 DHA 服务的设备不能直接访问 Internet。
- AIKCert: AIKCert 验证模式已针对能够直接访问 Internet 的运行环境优化。连接到在 AIKCert 验证模式下运行的 DHA 服务的设备必须能够直接访问 Internet,并且可以从 Microsoft 获得 AIK 证书。
向 Windows Server 中添加 DHA 服务器角色
- 在 Windows Server 中,如果尚未打开服务器管理器,请单击开始,然后单击服务器管理器。
- 单击添加角色和功能。
- 在开始之前页面上,单击下一步。
- 在选择安装类型页面上,单击基于角色或基于功能的安装,然后单击下一步。
- 在选择目标服务器页面上,单击从服务器池中选择服务器,选择服务器,然后单击下一步。
- 在“选择服务器角色”页面上,选中“设备运行状况身份验证”复选框。
- 可选:单击添加功能以添加所需的其他角色服务和功能。
- 单击下一步。
- 在选择功能页面上,单击下一步。
- 在 Web 服务器角色(IIS) 页面上,单击下一步。
- 在选择角色服务页面上,单击下一步。
- 在设备运行状况证明服务页面上,单击下一步。
- 在确认安装选项页面上,单击安装。
- 安装完成后,单击关闭。
向服务器的证书存储中添加 SSL 证书
- 转至 SSL 证书文件并选择该文件。
-
对于应用商店位置,请选择当前用户,然后单击下一步。
-
键入私钥对应的密码。
-
确保选中“包括所有扩展属性”导入选项。单击下一步。
-
显示此窗口时,单击是。
-
确身份验证书是否已安装:
-
打开命令提示窗口。
-
键入
mmc
并按 Enter 键。您必须是管理员角色,才能查看本地计算机存储中的证书。 -
在“文件”菜单中,单击添加/删除管理单元。
-
单击添加。
-
在“添加独立管理单元”对话框中,选择证书。
-
单击添加。
-
在“证书管理单元”对话框中,选择“我的用户帐户”。(如果您以服务帐户持有人身份登录,请选择服务帐户。)
-
在“选择计算机”对话框中,单击完成。
-
-
转至服务器管理器 > IIS,然后从图标列表中选择服务器证书。
-
在“操作”菜单中,选择导入… 以导入 SSL 证书。
获取并保存证书的指纹
- 在“文件资源管理器”搜索栏中,键入
mmc
。 -
在“控制台根节点”窗口中,单击文件 > 添加/删除管理单元。
-
从可用的管理单元中选择证书,然后将其添加到选定的管理单元。
-
选择我的用户帐户。
-
选择证书,然后单击确定。
-
双击证书并选择详细信息选项卡。向下滚动以查看证书指纹。
- 将指纹复制到文件中。在 PowerShell 命令中使用指纹时,请删除空格。
安装签名证书和加密证书
在 Windows Server 上运行以下 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 Server 上运行以下命令:
mkdir .\TrustedTpm
expand -F:* .\TrustedTpm.cab .\TrustedTpm
cd .\TrustedTpm
.\setup.cmd
配置 DHA 服务
在 Windows Server 上运行以下命令以配置 DHA 服务。
替换占位符 ReplaceWithThumbprint。
Install-DeviceHealthAttestation -EncryptionCertificateThumbprint ReplaceWithThumbprint
-SigningCertificateThumbprint ReplaceWithThumbprint
-SslCertificateStoreName My -SslCertificateThumbprint ReplaceWithThumbprint
-SupportedAuthenticationSchema "AikCertificate"
在 Windows Server 上运行以下命令以为 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”(方法不允许)。