Product Documentation

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

Sanket Mishra

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

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

DHA 服务器的必备项

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

向 Windows Server 中添加 DHA 服务器角色

  1. 在 Windows Server 中,如果尚未打开服务器管理器,请单击开始,然后单击服务器管理器
  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 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 "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”(方法不允许)。

DHA 服务检查图