证书和身份验证

在 XenMobile 操作期间,若干组件都会参与身份验证:

  • XenMobile Server: 在 XenMobile Server 中可以定义注册安全性和注册体验。用于加入用户的选项包括:
    • 向所有用户开放注册还是仅对收到邀请的用户开放注册。
    • 要求执行双重身份验证还是三重身份验证。通过 XenMobile 中的客户端属性,您可以启用 Citrix PIN 身份验证以及配置 PIN 复杂性和过期时间。
  • NetScaler: NetScaler 提供用于 Micro VPN SSL 会话的终端。NetScaler 还提供网络在途安全,并允许您定义用户每次访问应用程序时的身份验证体验。
  • Secure Hub: 注册期间,Secure Hub 与 XenMobile Server 协同工作。Secure Hub 是设备上可以与 NetScaler 通信的实体:会话过期时,Secure Hub 会从 NetScaler 获取身份验证票证,并将该票证传递给 MDX 应用程序。Citrix 建议使用证书固定,以防范中间人攻击。有关详细信息,请参阅 Secure Hub 一文中的此部分:证书固定

    Secure Hub 还有助于使用 MDX 安全容器:Secure Hub 会推送策略,在应用程序超时后与 NetScaler 建立会话,以及定义 MDX 超时和身份验证体验。Secure Hub 还可执行越狱检测、地理定位检查以及您应用的所有策略。

  • MDX 策略: MDX 策略会在设备上创建数据保管库。MDX 策略会将 Micro VPN 连接引导回 NetScaler,强制执行脱机模式限制,以及强制执行超时等客户端策略。

有关配置身份验证的详细信息,包括单重身份验证方法和双重身份验证方法概述,请参阅《部署手册》文章身份验证

使用 XenMobile 中的证书创建安全连接并对用户进行身份验证。本文余下部分将介绍证书。有关其他配置详细信息,请参阅以下文章:

证书

默认情况下,XenMobile 附带在安装期间生成的自签名安全套接字层 (SSL) 证书,用于确保与服务器之间的通信流安全。Citrix 建议您使用知名证书颁发机构 (CA) 发布的可信 SSL 证书替换此 SSL 证书。

注意:

iOS 10.3 设备不支持自签名证书。如果 XenMobile 使用自签名证书,用户无法将 iOS 10.3 设备注册到 XenMobile 中。要将运行 iOS 10.3 或更高版本的设备注册到 XenMobile 中,必须在 XenMobile 中使用可信 SSL 证书。

XenMobile 还使用自己的公钥基础结构 (PKI) 服务或从客户端证书的 CA 获取证书。所有 Citrix 产品均支持通配符和使用者备用名称 (SAN) 证书。对于大多数部署,仅需两个通配符或 SAN 证书。

客户端证书身份验证为移动应用程序提供了一个额外的安全层,允许用户无缝访问 HDX 应用程序。配置了客户端证书身份验证时,用户将键入其 Citrix PIN 以对启用了 XenMobile 的应用程序进行单点登录 (SSO) 访问。Citrix PIN 还简化了用户身份验证体验。Citrix PIN 用于确保客户端证书的安全或在设备本地保存 Active Directory 凭据。

要在 XenMobile 中注册并管理 iOS 设备,应设置并创建 Apple 提供的 Apple 推送通知服务 (APNs) 证书。有关步骤,请参阅 APNs 证书

下表显示了每个 XenMobile 组件的证书格式和类型:

XenMobile 组件 证书格式 所需的证书类型
NetScaler Gateway PEM (BASE64)、PFX (PKCS #12) SSL、根证书(NetScaler Gateway 自动将 PFX 转换为 PEM。)
XenMobile Server .p12(在基于 Windows 的计算机上为 .pfx) SSL、SAML、APNs(XenMobile 还在安装过程中生成完全 PKI。)重要: XenMobile Server 不支持扩展名为 .pem 的证书。要使用 .pem 证书,请将 .pem 文件拆分为证书和密钥,并将各自导入到 XenMobile Server 中。
StoreFront PFX (PKCS #12) SSL、根证书

XenMobile 支持位长度为 4096、2048 和 1024 的 SSL 侦听器证书和客户端证书。请注意,1024 位证书很容易被破坏。

对于 NetScaler Gateway 和 XenMobile Server,Citrix 建议从公共 CA(如 Verisign、DigiCert 或 Thawte)获取服务器证书。您可以从 NetScaler Gateway 或 XenMobile 配置实用程序创建证书签名请求 (CSR)。创建 CSR 后,将其提交到 CA 进行签名。CA 返回已签名证书后,即可在 NetScaler Gateway 或 XenMobile 上安装该证书。

在 XenMobile 中上载证书

您上载的每个证书在证书表中都有一个条目,其中包括其内容摘要。配置需要证书的 PKI 集成组件时,您要选择满足上下文相关条件的服务器证书。例如,您可能希望将 XenMobile 配置为与 Microsoft CA 集成。与 Microsoft CA 的连接必须通过使用客户端证书进行身份验证。

本节介绍了上载证书的常规过程。有关创建、上载和配置客户端证书的详细信息,请参阅客户端证书或证书加域身份验证

私钥要求

XenMobile 可能会处理给定证书的私钥,但也可能不会进行此项处理。同样,XenMobile 可能需要也可能不需要所上载证书的私钥。

向控制台上载证书

将证书上载到控制台的主要方式有两种:

  • 您可以单击以导入一个密钥库。然后,您在密钥库存储库中找出要安装的条目,除非您要上载 PKCS #12 格式。
  • 可以单击以导入一个证书。

您可以上载 CA 用于对请求进行签名的 CA 证书(不带私钥)。您还可以上载用于客户端身份验证的 SSL 客户端证书(带私钥)

在配置 Microsoft CA 实体时,您指定 CA 证书。您从属于 CA 证书的所有服务器证书列表中选择 CA 证书。同样,配置客户端身份验证时,您可以从包含 XenMobile 具有私钥的所有服务器证书的列表中进行选择。

导入密钥库

按照设计,密钥库(安全证书的存储库)可以包含多个条目。因此,从密钥库加载时,系统会提示您指定条目别名,用于识别要加载的条目。如果未指定别名,将加载库中的第一个条目。由于 PKCS #12 文件通常仅包含一个条目,当选择 PKCS #12 作为密钥库类型时,不会显示别名字段。

  1. 在 XenMobile 控制台中,单击控制台右上角的齿轮图标。此时将显示设置页面。

  2. 单击证书。此时将显示证书页面。

    “证书”配置页面图

  3. 单击导入。此时将显示导入对话框。

  4. 配置以下设置:

    • 导入: 在列表中,单击密钥库导入对话框将更改以反映可用的密钥库选项。

    “证书”配置页面图

    • 密钥库类型: 在列表中,单击 PKCS #12
    • 用作: 在列表中,单击您计划使用证书的方式。可用选项如下:
      • 服务器。服务器证书是 XenMobile Server 功能性使用的证书,这些证书上载到 XenMobile Web 控制台中。这些证书包括 CA 证书、RA 证书以及用于您基础结构其他组件的客户端身份验证的证书。此外,您还可以使用服务器证书来存储您要部署到设备的证书。此用法特别适用于在设备上建立信任所使用的 CA。
      • SAML。安全声明标记语言 (SAML) 认证允许您提供对服务器、Web 站点和应用程序的 SSO 访问权限。
      • APNs。利用 Apple 提供的 APNs 证书可通过 Apple 推送网络进行移动设备管理。
      • SSL 侦听器。安全套接字层 (SSL) 侦听器向 XenMobile 通知 SSL 加密活动。
    • 密钥库文件: 浏览查找要导入的文件类型为 .p12 (在基于 Windows 的计算机上为 .pfx)的密钥库。
    • 密码: 键入分配给证书的密码。
    • 说明: (可选)键入密钥库的说明,以帮助您将其与其他密钥库区分开。
  5. 单击导入。密钥库将添加到证书表中。

导入证书

从文件或密钥库条目导入证书时,XenMobile 将尝试基于输入内容构建证书链。XenMobile 将导入该链中的所有证书来为每个证书创建一个服务器证书条目。仅当文件或密钥库条目中的证书形成链时,才可执行此操作。例如,如果链中每个后续证书是前一个证书的颁发者。

您可以为导入的证书添加可选说明。此说明将仅附加到链中的第一个证书上。可在以后更新提醒说明。

  1. 在 XenMobile 控制台中,单击控制台右上角的齿轮图标,然后单击证书

  2. 证书页面上,单击导入。此时将显示导入对话框。

  3. 导入对话框的导入中,如果尚未选择,请单击证书

  4. 导入对话框将更改以反映可用的证书选项。在用作中,选择您计划使用密钥库的方式。可用选项如下:

    • 服务器。服务器证书是 XenMobile Server 功能性使用的证书,这些证书上载到 XenMobile Web 控制台中。这些证书包括 CA 证书、RA 证书以及用于您基础结构其他组件的客户端身份验证的证书。此外,您还可以使用服务器证书来存储您要部署到设备的证书。此选项特别适用于在设备上建立信任所使用的 CA。
    • SAML。安全声明标记语言 (SAML) 认证允许您提供对服务器、Web 站点和应用程序的单点登录 (SSO) 访问权限。
    • SSL 侦听器。安全套接字层 (SSL) 侦听器向 XenMobile 通知 SSL 加密活动。
  5. 浏览查找要导入的文件类型为 .p12 (在基于 Windows 的计算机上为 .pfx)的密钥库。

  6. 浏览以查找证书的可选私钥文件。私钥用于与证书一起使用以便进行加密和解密。

  7. 键入证书的说明(可选),以帮助您将其与其他证书区分开。

  8. 单击导入。证书将添加到证书表中。

更新证书

XenMobile 只允许系统中每个公钥一次存在一个证书。如果您尝试为已导入证书的同一密钥对导入证书:您可以替换现有条目或将其删除。

要最有效地更新您的证书,请在 XenMobile 控制台上执行以下操作。单击控制台右上角的齿轮图标以打开设置页面,然后单击证书。在导入对话框中,导入新证书。

当更新服务器证书时,使用先前证书的组件将自动切换到使用新证书。同样,如果已经在设备上部署服务器证书,证书将在下一次部署时自动更新。

刷新证书

XenMobile Server 在内部将以下证书颁发机构用于 PKI:根 CA、设备 CA、服务器 CA。这些 CA 分类为一个逻辑组并提供一个组名称。预配新的 XenMobile Server 实例时,会生成这三个 CA 并为其提供组名称“default”。

您可以使用 XenMobile Server 控制台或公用 REST API 为支持的 iOS、macOS 和 Android 设备续订 CA。对于注册的 Windows 设备,用户必须重新注册其设备才能接收新的设备 CA。

以下 API 可用于在 XenMobile Server 中刷新或重新生成内部 PKI CA,以及续订这些证书颁发机构颁发的设备证书。

  • 创建新的组证书颁发机构 (CA)。
  • 激活新 CA 和取消激活旧 CA。
  • 在一组配置的设备上续订设备证书。已注册的设备继续运行而不会中断。设备重新连接到服务器时颁发设备证书。
  • 返回仍使用旧 CA 的设备列表。
  • 所有设备都拥有新 CA 后删除旧 CA。

有关信息,请参阅 XenMobile Public API for REST Services(适用于 REST 的 XenMobile 公共 API 服务)PDF:

- 第 3.16.58 节“Renew Device Certificate”(续订设备证书)
- 第 3.23 节“Refresh XenMobile CA Group”(刷新 XenMobile CA 组)

作为此功能的一部分,可从管理设备控制台执行新的安全操作证书续订。此操作用于在相应设备上续订注册证书。

必备条件
  • 默认情况下,此证书刷新功能处于禁用状态。要激活证书刷新功能,请将服务器属性 refresh.internal.ca 的值设置为 True
  • 默认情况下,可以同时请求证书刷新的设备数为 100。如果已存在 100 个续订设备证书请求,则 API 将抛出错误。要更改该限制,请更新新的服务器属性 max.renew_device_cert_requests.allowed。有关配置服务器属性的信息,请参阅服务器属性

重要:

如果您的 NetScaler 设置了 SSL 卸载,则在生成新证书时,请确保使用新的 cacert.perm 来更新您的负载平衡器。有关 NetScaler Gateway 设置的详细信息,请参阅为 NetScaler VIP 使用 SSL 卸载模式

用于为群集节点重置服务器 CA 证书密码的 CLI 选项

在一个 XenMobile Server 节点上生成服务器 CA 证书后,可使用 XenMobile CLI 在其他群集节点上重置证书密码。在 CLI 主菜单中,选择系统 > 高级设置 > 重置 CA 证书密码。如果在没有任何新的 CA 证书时重置密码,XenMobile 不会重置密码。

XenMobile CLI 图

XenMobile 证书管理

我们建议您列出在您的 XenMobile 部署中使用的证书,尤其是证书的过期日期和关联的密码。本节旨在帮助您更轻松地在 XenMobile 中进行证书管理。

您的环境中可能包含以下部分或所有证书:

  • XenMobile Server
    • 用于 MDM FQDN 的 SSL 证书
    • SAML 证书(用于 ShareFile)
    • 用于以上证书和任何其他内部资源(StoreFront/代理等)的根证书和中间 CA 证书
    • 用于 iOS 设备管理的 APN 证书
    • 用于 XenMobile Server Secure Hub 通知的内部 APNs 证书
    • 用于连接到 PKI 的 PKI 用户证书
  • MDX Toolkit
    • Apple 开发人员证书
    • Apple 预配配置文件(按应用程序)
    • Apple APNs 证书(用于 Citrix Secure Mail)
    • Android 密钥库文件
    • Windows Phone - Symantec 证书
  • NetScaler
    • 用于 MDM FQDN 的 SSL 证书
    • 用于网关 FQDN 的 SSL 证书
    • 用于 ShareFile SZC FQDN 的 SSL 证书
    • 用于 Exchange 负载平衡(卸载配置)的 SSL 证书
    • 用于 StoreFront 负载平衡的 SSL 证书
    • 用于上述证书的根证书和中间 CA 证书

XenMobile 证书过期策略

如果允许证书过期,证书则会无效。您不能再在您的环境中运行安全事务,也不能访问 XenMobile 资源。

注意:

证书颁发机构 (CA) 会在过期日期之前提示您续订 SSL 证书。

用于 Citrix Secure Mail 的 APNs 证书

Apple 推送通知服务 (APNs) 证书每年都会过期。请务必在 APNs SSL 证书过期之前创建该证书,并在 Citrix 门户中进行更新。如果证书过期,用户会面临 Secure Mail 推送通知不一致的情况。此外,您不能再为您的应用程序发送推送通知。

用于 iOS 设备管理的 APNs 证书

要在 XenMobile 中注册和管理 iOS 设备,应设置和创建 Apple 提供的 APNs 证书。如果证书过期,用户将不能在 XenMobile 中注册,而您不能管理其 iOS 设备。有关详细信息,请参阅 APNs 证书

可以通过登录 Apple Push Certificates Portal 来查看 APNs 证书状态和过期日期。请务必以创建证书的同一用户身份登录。

在过期日期之前 30 天和 10 天,您还会收到 Apple 发送的电子邮件通知。通知包含以下信息:

The following Apple Push Notification Service certificate, created for Apple ID CustomerID will expire on Date. Revoking or allowing this certificate to expire will require existing devices to be re-enrolled with a new push certificate.

Please contact your vendor to generate a new request (a signed CSR), then visit https://identity.apple.com/pushcert to renew your Apple Push Notification Service certificate.

Thank You,

Apple Push Notification Service

MDX Toolkit(iOS 分发证书)

在物理 iOS 设备上运行的应用程序(Apple App Store 中的应用程序除外)具有以下签名要求:

  • 使用预配配置文件为应用程序签名。
  • 使用相应的分发证书为应用程序签名。

要验证您的 iOS 分发证书是否有效,请执行以下操作:

  1. 从 Apple 企业开发人员门户中,为您计划用 MDX Toolkit 打包的每个应用程序创建一个显式应用程序 ID。可接受的应用程序 ID 示例:com.CompanyName.ProductName.
  2. 从 Apple 企业开发人员门户中,转到 Provisioning Profiles(预配配置文件)> Distribution(分发),并创建一个内部预配配置文件。对在上一步中创建的每个应用程序 ID 重复此步骤。
  3. 下载所有预配配置文件。有关详细信息,请参阅打包 iOS 移动应用程序

要确认所有 XenMobile Server 证书是否有效,请执行以下操作:

  1. 在 XenMobile 控制台中,单击设置 > 证书
  2. 检查包括 APNs、SSL 侦听器、根和中间证书在内的所有证书是否有效。

Android 密钥库

密钥库是指包含用于为您的 Android 应用程序签名的证书的文件。当您的密钥有效期过期后,用户不能再无缝地升级到应用程序的新版本。

Symantec 提供的用于 Windows Phone 的企业证书

Symantec 是用于 Microsoft 应用程序中心服务的代码签名证书的独家提供商。开发者和软件发行者加入应用程序中心来分发 Windows Phone 和 Xbox 360 应用程序,以便通过 Windows Marketplace 下载。有关详细信息,请参阅 Symantec 文档中的 Symantec Code Signing Certificates for Windows Phone(Symantec 用于 Windows Phone 的代码签名证书)。

如果证书过期,Windows Phone 用户将无法注册。用户无法安装公司发布和签名的应用程序,也不能启动手机上安装的公司应用程序。

NetScaler

有关如何处理 NetScaler 的证书过期的详细信息,请参阅 Citrix 支持知识中心中的 How to handle certificate expiry on NetScaler(如何处理 NetScaler 的证书过期)。

如果 NetScaler 证书过期,用户将无法注册和访问应用商店。过期的证书还会阻止用户使用 Secure Mail 时连接到 Exchange Server。此外,用户不能枚举和打开 HDX 应用程序(具体取决于哪个证书过期)。

Expiry Monitor 和 Command Center 可以帮助您跟踪 NetScaler 证书。Center 会在证书过期时通知您。这些工具可以协助监视以下 NetScaler 证书:

  • 用于 MDM FQDN 的 SSL 证书
  • 用于网关 FQDN 的 SSL 证书
  • 用于 ShareFile SZC FQDN 的 SSL 证书
  • 用于 Exchange 负载平衡(卸载配置)的 SSL 证书
  • 用于 StoreFront 负载平衡的 SSL 证书
  • 用于上述证书的根和中间 CA 证书

证书和身份验证

In this article