XenMobile® Server

证书和身份验证

在 XenMobile® 操作期间,有多个组件在身份验证中发挥作用:

  • XenMobile Server: XenMobile Server 是您定义注册安全性及注册体验的位置。用户入门选项包括:
    • 注册是向所有人开放还是仅限受邀用户。
    • 是否需要双因素身份验证或三因素身份验证。通过 XenMobile 中的客户端属性,您可以启用 Citrix PIN 身份验证并配置 PIN 的复杂性和过期时间。
  • Citrix ADC: Citrix ADC 为微 VPN SSL 会话提供终止。Citrix ADC 还提供网络传输中安全性,并允许您定义用户每次访问应用程序时使用的身份验证体验。
  • Secure Hub: Secure Hub 和 XenMobile Server 在注册操作中协同工作。Secure Hub 是设备上与 Citrix ADC 通信的实体:当会话过期时,Secure Hub 从 Citrix ADC 获取身份验证票证,并将票证传递给 MDX 应用程序。Citrix 建议使用证书锁定,这可以防止中间人攻击。有关详细信息,请参阅 Secure Hub 文章中的以下部分:证书锁定

    Secure Hub 还促进了 MDX 安全容器:Secure Hub 推送策略,在应用程序超时时与 Citrix ADC 创建会话,并定义 MDX 超时和身份验证体验。Secure Hub 还负责越狱检测、地理位置检查以及您应用的任何策略。

  • MDX 策略: MDX 策略在设备上创建数据保管库。MDX 策略将微 VPN 连接定向回 Citrix ADC,强制实施脱机模式限制,并强制实施客户端策略(例如超时)。

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

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

证书

XenMobile 在安装期间生成自签名安全套接字层 (SSL) 证书,以保护到服务器的通信流。您必须将 SSL 证书替换为来自知名 CA 的受信任 SSL 证书。

XenMobile 还使用其自己的公钥基础设施 (PKI) 服务或从 CA 获取客户端证书。所有 Citrix 产品都支持通配符和主题备用名称 (SAN) 证书。对于大多数部署,您只需要两个通配符或 SAN 证书。

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

要使用 XenMobile 注册和管理 iOS 设备,请设置并创建 Apple 推送通知服务 (APNs) 证书。有关步骤,请参阅APNs 证书

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

XenMobile 组件 证书格式 所需证书类型
Citrix Gateway PEM (BASE64)、PFX (PKCS #12) SSL、根证书 (Citrix 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 位证书很容易受到攻击。

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

重要提示:iOS、iPadOS 和 macOS 中受信任证书的要求

Apple 对 TLS 服务器证书提出了新要求。请验证所有证书是否符合新的 Apple 要求。请参阅 Apple 发布的内容:https://support.apple.com/en-us/HT210176

Apple 正在缩短 TLS 服务器证书的最大允许有效期。此更改仅影响 2020 年 9 月之后颁发的服务器证书。请参阅 Apple 发布的内容:https://support.apple.com/en-us/HT211025

在 XenMobile 中上载证书

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

本部分提供了上载证书的一般过程。有关创建、上载和配置客户端证书的详细信息,请参阅客户端证书或证书加域身份验证

私钥要求

XenMobile 可能拥有也可能不拥有给定证书的私钥。同样,XenMobile 可能需要也可能不需要上载证书的私钥。

上载证书

您可以通过两种方式上载证书:

  • 单独将证书上载到控制台。
  • 使用 REST API 将证书批量上载到 iOS 设备。

将证书上载到控制台时,您有两个主要选项:

  • 单击以导入密钥库。然后,您确定要安装的密钥库存储库中的条目,除非您上载的是 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) 认证允许您提供对服务器、网站和应用程序的 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) 认证允许您提供对服务器、网站和应用程序的单点登录 (SSO) 访问。
    • SSL 侦听器。安全套接字层 (SSL) 侦听器通知 XenMobile SSL 加密活动。
  5. 浏览以查找要导入的 .p12(或 Windows 计算机上的 .pfx)文件类型的密钥库。

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

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

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

使用 REST API 将证书批量上载到 iOS 设备

如果逐个上载证书不切实际,您可以使用 REST API 将它们批量上载到 iOS 设备。此方法支持 .p12 格式的证书。有关 REST API 的详细信息,请参阅 REST API

  1. 将每个证书文件重命名为 device_identity_value.p12 格式。device_identity_value 可以是每个设备的 IMEI、序列号或 MEID。

    例如,如果您选择使用序列号作为识别方法。某个设备的序列号为 A12BC3D4EFGH,因此将您希望安装在该设备上的证书文件命名为 A12BC3D4EFGH.p12

  2. 创建一个文本文件来存储 .p12 证书的密码。在该文件中,在新行上键入每个设备的设备标识符和密码。使用 device_identity_value=password 格式。请参阅以下内容:

    A12BC3D4EFGH.p12=password1!
    A12BC3D4EFIJ.p12=password2@
    A12BC3D4EFKL.p12=password3#
    <!--NeedCopy-->
    
  3. 将所有证书和您创建的文本文件打包成一个 .zip 文件。
  4. 启动您的 REST API 客户端,登录 XenMobile,并获取身份验证令牌。
  5. 导入您的证书,确保在消息正文中包含以下内容:

{ “alias”: “”, “useAs”: “device”, “uploadType”: “keystore”, “keystoreType”: “PKCS12”, “identityType”:”SERIAL_NUMBER”, # 身份类型可以是 “SERIAL_NUMBER”、”IMEI”、”MEID” “credentialFileName”:”credential.txt” # zip 文件中的凭据文件名 } ```

![REST API 客户端](/en-us/xenmobile/server/media/bulk-import-certificates.png)
  1. 创建 VPN 策略,凭据类型为 始终开启 IKEv2,设备身份验证方法为 基于设备身份的设备证书。选择您在证书文件名中使用的 设备身份类型。请参阅 VPN 设备策略
  2. 注册 iOS 设备并等待 VPN 策略部署。通过检查设备上的 MDM 配置来确认证书安装。您还可以在 XenMobile 控制台中检查设备详细信息。

    iOS MDM 管理

    设备详细信息

您还可以通过创建一个文本文件来批量删除证书,该文件中列出了要删除的每个证书的 device_identity_value。在 REST API 中,调用删除 API 并使用以下请求,将 device_identity_value 替换为相应的标识符:

<!--NeedCopy--> ```
{
    "identityType"="device_identity_value"
}
```

REST API 客户端

更新证书

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

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

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

续订证书

XenMobile Server 内部使用以下证书颁发机构 (CA) 进行 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。

有关信息,请参阅 Public API for REST Services PDF 中的以下部分:

  • 第 3.16.58 节,续订设备证书
  • 第 3.23 节,内部 PKI CA 组

管理设备 控制台包含安全操作 证书续订,用于续订设备上的注册证书。

先决条件
  • 默认情况下,此证书刷新功能处于禁用状态。要激活证书刷新功能,请将服务器属性 refresh.internal.ca 的值设置为 True

重要提示:

如果您的 Citrix ADC 配置为 SSL 卸载,当您生成新证书时,请确保使用新的 cacert.perm 更新您的负载平衡器。有关 Citrix Gateway 设置的更多信息,请参阅 使用 NetScaler VIP 的 SSL 卸载模式

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

在一个 XenMobile Server 节点上生成服务器 CA 证书后,使用 XenMobile CLI 在其他群集节点上重置证书密码。在 CLI 主菜单中,选择 System > Advanced Settings > Reset CA certs password。如果没有新的 CA 证书,则在重置密码时,XenMobile 不会重置密码。

XenMobile CLI 图像

XenMobile 证书管理

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

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

  • XenMobile Server
    • MDM FQDN 的 SSL 证书
    • SAML 证书(适用于 Citrix Files)
    • 前述证书以及任何其他内部资源(StoreFront/Proxy 等)的根 CA 和中间 CA 证书
    • 用于 iOS 设备管理的 APN 证书
    • 用于 XenMobile Server Secure Hub 通知 的内部 APNs 证书
    • 用于连接到 PKI 的 PKI 用户证书
  • MDX Toolkit
    • Apple 开发人员证书
    • Apple 预配配置文件(按应用程序)
    • Apple APNs 证书(用于 Citrix Secure Mail™)
    • Android 密钥库文件

    MAM SDK 不封装应用程序,因此不需要证书。

  • Citrix ADC
    • MDM FQDN 的 SSL 证书
    • Gateway FQDN 的 SSL 证书
    • ShareFile SZC FQDN 的 SSL 证书
    • Exchange 负载平衡的 SSL 证书(卸载配置)
    • StoreFront 负载平衡的 SSL 证书
    • 前述证书的根 CA 和中间 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 推送证书门户查看 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 企业开发人员门户中,转到 预配配置文件 > 分发 并创建内部预配配置文件。对上一步中创建的每个应用程序 ID 重复此步骤。
  3. 下载所有预配配置文件。有关详细信息,请参阅 封装 iOS 移动应用程序

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

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

Android 密钥库

密钥库是一个文件,其中包含用于签署 Android 应用程序的证书。当您的密钥有效期过期时,用户将无法无缝升级到您的应用程序的新版本。

Citrix ADC

有关如何处理 Citrix ADC 证书过期的详细信息,请参阅 Citrix 支持知识中心中的 如何在 NetScaler 上处理证书过期

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

过期监视器和命令中心可以帮助您跟踪 Citrix ADC 证书。当证书过期时,中心会通知您。这些工具可帮助监视以下 Citrix ADC 证书:

  • MDM FQDN 的 SSL 证书
  • Gateway FQDN 的 SSL 证书
  • ShareFile SZC FQDN 的 SSL 证书
  • Exchange 负载平衡的 SSL 证书(卸载配置)
  • StoreFront 负载平衡的 SSL 证书
  • 前述证书的根 CA 和中间 CA 证书 ```
证书和身份验证