客户端证书或证书加域身份验证

Last published : Oct 21, 2026
XenMobile® 的默认配置是用户名和密码身份验证。要为注册和访问 XenMobile 环境增加一层安全性,请考虑使用基于证书的身份验证。在 XenMobile 环境中,此配置是安全性与用户体验的最佳组合。证书加域身份验证具有最佳的 SSO 可能性,并结合了 Citrix ADC 提供的双因素身份验证安全性。
为了获得最佳可用性,您可以将证书加域身份验证与 Citrix PIN 和 Active Directory 密码缓存结合使用。因此,用户无需重复输入其 LDAP 用户名和密码。用户在注册、密码过期和帐户锁定期间输入用户名和密码。
重要提示:
在用户将设备注册到 XenMobile 后,XenMobile 不支持将身份验证模式从域身份验证更改为其他身份验证模式。
如果您不允许 LDAP 并使用智能卡或类似方法,则配置证书可让您将智能卡表示给 XenMobile。然后,用户使用 XenMobile 为其生成的唯一 PIN 进行注册。用户获得访问权限后,XenMobile 会创建并部署用于向 XenMobile 环境进行身份验证的证书。
您可以使用 Citrix ADC for XenMobile 向导在 Citrix ADC 仅证书身份验证或证书加域身份验证时执行 XenMobile 所需的配置。Citrix ADC for XenMobile 向导只能运行一次。
在高度安全的环中,在公共或不安全网络中,在组织外部使用 LDAP 凭据被认为是组织的主要安全威胁。对于高度安全的环,使用客户端证书和安全令牌的双因素身份验证是一种选择。有关信息,请参阅 Configuring XenMobile for Certificate and Security Token Authentication。
客户端证书身份验证适用于 XenMobile MAM 模式(仅限 MAM)和 ENT 模式(当用户注册到 MDM 时)。客户端证书身份验证不适用于用户注册到旧版 MAM 模式时的 XenMobile ENT 模式。要将客户端证书身份验证用于 XenMobile ENT 和 MAM 模式,您必须配置 Microsoft 服务器、XenMobile 服务器,然后配置 Citrix Gateway。请按照本文中介绍的这些常规步骤操作。
在 Microsoft 服务器上:
  1. 将证书管理单元添加到 Microsoft 管理控制台。
  2. 将模板添加到证书颁发机构 (CA)。
  3. 从 CA 服务器创建 PFX 证书。
在 XenMobile 服务器上:
  1. 将证书上载到 XenMobile。
  2. 为基于证书的身份验证创建 PKI 实体。
  3. 配置凭据提供程序。
  4. 配置 Citrix Gateway 以交付用户证书进行身份验证。
有关 Citrix Gateway 配置的信息,请参阅 Citrix ADC 文档中的以下文章:

先决条件

  • 创建 Microsoft 证书服务实体模板时,请通过排除特殊字符来避免已注册设备可能出现的身份验证问题。例如,请勿在模板名称中使用以下字符:: ! $ () # % + * ~ ? | {} []
  • 要为 Exchange ActiveSync 配置基于证书的身份验证,请参阅此Microsoft 博客。将 Exchange ActiveSync 的证书颁发机构 (CA) 服务器站点配置为要求客户端证书。
  • 如果您使用私有服务器证书来保护 ActiveSync 到 Exchange Server 的流量,请确保移动设备具有所有必需的根/中间证书。否则,在 Secure Mail 中设置邮箱期间,基于证书的身份验证将失败。在 Exchange IIS 控制台中,您必须:
    • 添加一个用于 XenMobile 与 Exchange 结合使用的网站,并绑定 Web 服务器证书。
    • 使用端口 9443。
    • 对于该网站,您必须添加两个应用程序,一个用于“Microsoft-Server-ActiveSync”,另一个用于“EWS”。对于这两个应用程序,在SSL 设置下,选择要求 SSL。

将证书管理单元添加到 Microsoft 管理控制台

  1. 打开控制台,然后单击添加/删除管理单元。
  2. 添加以下管理单元:
    • 证书模板
    • 证书(本地计算机)
    • 证书 - 当前用户
    • 证书颁发机构(本地)
    Microsoft 管理控制台
  3. 展开证书模板。
    Microsoft 管理控制台
  4. 选择用户模板,然后复制模板。
    Microsoft 管理控制台
  5. 提供模板显示名称。
    重要提示:
    不建议选择在 Active Directory 中发布证书选项。如果选择此选项,它会为 Active Directory 中的所有用户创建客户端证书,这可能会使您的 Active Directory 数据库变得混乱。
  6. 为模板类型选择 Windows 2003 Server。在 Windows 2012 R2 服务器中,在兼容性下,选择证书颁发机构并将收件人设置为 Windows 2003。
  7. 在“安全性”下,配置以下内容:
    1. 单击“添加”,然后选择 XenMobile Server 用于生成证书的 AD 用户帐户。
      重要提示:
      此处仅添加服务帐户用户。仅将“注册”权限添加到此 AD 用户帐户。
      如本文后面所述,您将使用服务帐户创建用户 .pfx 证书。有关信息,请参阅从 CA 服务器创建 PFX 证书。
      证书测试
    2. 从“域用户”中撤销“注册”权限。
      域用户
  8. 在“加密”下,确保提供密钥大小。稍后在配置 XenMobile 时输入密钥大小。
    Microsoft 管理控制台
  9. 在“使用者名称”下,选择“在请求中提供”。应用更改,然后保存。
    Microsoft 管理控制台

将模板添加到证书颁发机构

  1. 转到“证书颁发机构”,然后选择“证书模板”。
  2. 右键单击右侧窗格,然后选择“新建 > 要颁发的证书模板”。
    Microsoft 管理控制台
  3. 选择您在上一步中创建的模板,然后单击“确定”以将其添加到“证书颁发机构”中。
    Microsoft 管理控制台

从 CA 服务器创建 PFX 证书

  1. 使用您登录时所用的服务帐户创建用户 .pfx 证书。此 .pfx 文件将上传到 XenMobile,XenMobile 随后会代表注册其设备的用户请求用户证书。
  2. 在“当前用户”下,展开“证书”。
  3. 在右侧窗格中右键单击,然后单击“请求新证书”。
    Microsoft 管理控制台
  4. 此时将显示“证书注册”屏幕。单击“下一步”。
    Microsoft 管理控制台
  5. 选择“Active Directory 注册策略”,然后单击“下一步”。
    Microsoft 管理控制台
  6. 选择“用户”模板,然后单击“注册”。
    Microsoft 管理控制台
  7. 导出您在上一步中创建的 .pfx 文件。
    Microsoft 管理控制台
  8. 单击是,导出私钥。
    Microsoft 管理控制台
  9. 选择如果可能,包括证书路径中的所有证书,然后选中导出所有扩展属性复选框。
    Microsoft 管理控制台
  10. 设置在将此证书上载到 XenMobile 时使用的密码。
    Microsoft 管理控制台
  11. 将证书保存到硬盘驱动器。

将证书上载到 XenMobile

  1. 在 XenMobile 控制台中,单击右上角的齿轮图标。此时将显示设置屏幕。
  2. 单击证书,然后单击导入。
  3. 输入以下参数:
    • 导入: 密钥库
    • 密钥库类型: PKCS #12
    • 用作: 服务器
    • 密钥库文件:单击“浏览”以选择您创建的 .pfx 证书。
    • 密码:输入您为此证书创建的密码。
    证书配置屏幕
  4. 单击“导入”。
  5. 验证证书是否已正确安装。正确安装的证书将显示为用户证书。

创建用于基于证书的身份验证的 PKI 实体

  1. 在“设置”中,转至“更多 > 证书管理 > PKI 实体”。
  2. 单击“添加”,然后单击“Microsoft 证书服务实体”。此时将显示“Microsoft 证书服务实体: 常规信息”屏幕。
  3. 输入以下参数:
    • 名称:键入任何名称
    • Web 注册服务根 URL:https://RootCA-URL/certsrv/(请务必在 URL 路径中添加最后一个斜杠 /。)
    • certnew.cer 页面名称:certnew.cer(默认值)
    • certfnsh.asp:certfnsh.asp(默认值)
    • 身份验证类型:客户端证书
    • SSL 客户端证书:选择用于颁发 XenMobile 客户端证书的用户证书。
    证书配置屏幕
  4. 在模板下,添加您在配置 Microsoft 证书时创建的模板。请勿添加空格。
    证书配置屏幕
  5. 跳过 HTTP 参数,然后单击CA 证书。
  6. 选择与您的环境对应的根 CA 名称。此根 CA 是从 XenMobile 客户端证书导入的链的一部分。
    证书配置屏幕
  7. 单击保存。

配置凭据提供程序

  1. 在设置中,转至更多 > 证书管理 > 凭据提供程序。
  2. 单击添加。
  3. 在常规下,输入以下参数:
    • 名称: 键入任何名称。
    • 描述: 键入任何描述。
    • 颁发实体: 选择之前创建的 PKI 实体。
    • 颁发方法: SIGN
    • 模板:选择在 PKI 实体下添加的模板。
    凭据提供程序配置屏幕
  4. 单击“证书签名请求”,然后输入以下参数:
    • 密钥算法:RSA
    • 密钥大小:2048
    • 签名算法:SHA256withRSA
    • 使用者名称:cn=$user.username
    对于“使用者备用名称”,单击“添加”,然后输入以下参数:
    • 类型:用户主体名称
    • 值:$user.userprincipalname
    凭据提供程序配置屏幕
  5. 单击“分发”,然后输入以下参数:
    • 颁发 CA 证书:选择为 XenMobile 客户端证书签名的颁发 CA。
    • 选择分发模式:选择“首选集中式:服务器端密钥生成”。
    凭据提供程序配置屏幕
  6. 对于接下来的两个部分,吊销 XenMobile 和 吊销 PKI,请根据需要设置参数。在此示例中,这两个选项都已跳过。
  7. 单击 续订。
  8. 对于 证书过期时续订,选择 开。
  9. 将所有其他设置保留为默认值或根据需要进行更改。
    凭据提供程序配置屏幕
  10. 单击 保存。

配置 Secure Mail 以使用基于证书的身份验证

将 Secure Mail 添加到 XenMobile 时,请务必在 应用程序设置 下配置 Exchange 设置。
应用程序配置屏幕

在 XenMobile 中配置 Citrix ADC 证书交付

  1. 登录到 XenMobile 控制台,然后单击右上角的齿轮图标。此时将显示 设置 屏幕。
  2. 在 服务器 下,单击 Citrix Gateway。
  3. 如果尚未添加 Citrix Gateway,请单击 添加 并指定设置:
    • 外部 URL: https://YourCitrixGatewayURL
    • 登录类型: 证书和域
    • 需要密码: 关
    • 设为默认值: 开
  4. 对于传递用户证书以进行身份验证,选择开。
    Citrix Gateway 配置屏幕
  5. 对于凭据提供程序,选择一个提供程序,然后单击保存。
  6. 要使用用户证书中的 sAMAccount 属性作为用户主体名称 (UPN) 的替代方法,请在 XenMobile 中按如下方式配置 LDAP 连接器:转到设置 > LDAP,选择目录并单击编辑,然后在用户搜索依据中选择 sAMAccountName。
    LDAP 配置屏幕

启用 Citrix PIN 和用户密码缓存

要启用 Citrix PIN 和用户密码缓存,请转到设置 > 客户端属性并选择以下复选框:启用 Citrix PIN 身份验证和启用用户密码缓存。有关详细信息,请参阅客户端属性。

排查您的客户端证书配置

成功配置上述设置以及 Citrix Gateway 配置后,用户工作流程如下:
  1. 用户注册其移动设备。
  2. XenMobile 提示用户创建 Citrix PIN。
  3. 用户随后被重定向到 XenMobile 应用商店。
  4. 当用户启动 Secure Mail 时,XenMobile 不会提示他们输入用户凭据以进行邮箱配置。相反,Secure Mail 会从 Secure Hub 请求客户端证书,并将其提交给 Microsoft Exchange Server 进行身份验证。如果用户启动 Secure Mail 时 XenMobile 提示输入凭据,请检查您的配置。
如果用户可以下载并安装 Secure Mail,但在邮箱配置过程中 Secure Mail 未能完成配置:
  1. 如果 Microsoft Exchange Server ActiveSync 使用私有 SSL 服务器证书来保护流量,请验证根/中间证书是否已安装在移动设备上。
  2. 验证为 ActiveSync 选择的身份验证类型是否为 要求客户端证书。
    Microsoft ActiveSync 属性屏幕(/en-us/xenmobile/server/media/activesync-require-client-certs.png)
  3. 在 Microsoft Exchange Server 上,检查 Microsoft-Server-ActiveSync 站点以验证是否已启用客户端证书映射身份验证。默认情况下,客户端证书映射身份验证处于禁用状态。该选项位于 配置编辑器 > 安全 > 身份验证 下。
    Microsoft ActiveSync 配置屏幕(/en-us/xenmobile/server/media/activesync-enable-cert-mapping.png)
    选择 True 后,请务必单击 应用 以使更改生效。
  4. 检查 XenMobile 控制台中的 Citrix Gateway 设置:确保 交付用户证书以进行身份验证 为 ON,并且 凭据提供程序 已选择正确的配置文件。

确定客户端证书是否已交付到移动设备

  1. 在 XenMobile 控制台中,转到 管理 > 设备 并选择设备。
  2. 单击 编辑 或 显示更多。
  3. 转到 交付组 部分,并搜索此条目:
    Citrix Gateway 凭据:请求的凭据,CertId=

验证是否已启用客户端证书协商

  1. 运行此 netsh 命令以显示绑定到 IIS 网站的 SSL 证书配置:
    netsh http show sslcert
  2. 如果 协商客户端证书 的值为 禁用,请运行以下命令以启用它:
    netsh http delete sslcert ipport=0.0.0.0:443
    netsh http add sslcert ipport=0.0.0.0:443 certhash=cert_hash appid={app_id} certstorename=store_name verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable
    例如:
    netsh http add sslcert ipport=0.0.0.0:443 certhash=609da5df280d1f54a7deb714fb2c5435c94e05da appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=ExampleCertStoreName verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable