PKI 实体

XenMobile 公钥基础结构 (PKI) 实体配置代表执行实际 PKI 操作(颁发、吊销和状态信息)的组件。这些组件是 XenMobile 的内部组件或外部组件。内部组件称为自主组件。外部组件属于企业基础结构的组成部分。

XenMobile 支持以下类型的 PKI 实体:

  • 通用 PKI (GPKI)

XenMobile Server GPKI 支持包括 Symantec 托管 PKI。

  • Microsoft 证书服务
  • 任意证书颁发机构 (CA)

XenMobile 支持以下 CA 服务器:

  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2

常见 PKI 概念

无论何种类型,每个 PKI 实体均拥有下列功能的子集:

  • 签名: 基于证书签名请求 (CSR) 颁发新证书。
  • 提取: 恢复现有证书和密钥对。
  • 吊销: 吊销客户端证书。

关于 CA 证书

配置 PKI 实体时,请向 XenMobile 指明哪个 CA 证书将成为该实体所颁发(或从该实体恢复)的证书的签署者。该 PKI 实体可以返回任意多个不同 CA 签名(提取或新签名)的证书。

请在 PKI 实体配置过程中提供其中每个 CA 的证书。为此,请将证书上载到 XenMobile,然后在 PKI 实体中引用这些证书。对于任意 CA,证书实际上是签名 CA 证书。对于外部实体,必须手动指定该证书。

重要:

创建 Microsoft 证书服务实体模板时,为避免已注册的设备可能会出现的身份验证问题:请勿在模板名称中使用特殊字符。例如,请勿使用: ! : $ ( ) # % + * ~ ? | { } [ ]

通用 PKI

通用 PKI (GPKI) 协议是 XenMobile 专有协议,在 SOAP Web 服务层之上运行,用于实现与各种 PKI 解决方案的统一交互。GPKI 协议定义以下三个基本 PKI 操作:

  • 签名: 适配器可以接收 CSR,将其传输到 PKI 并返回新签名的证书。
  • 提取: 适配器能够从 PKI 检索(恢复)现有证书和密钥对(取决于输入参数)。
  • 吊销: 适配器会导致 PKI 吊销给定证书。

GPKI 协议的接收端是 GPKI 适配器。该适配器将基本操作转换为其构建所针对的特定类型的 PKI。例如,存在适用于 RSA 和 Entrust 的 GPKI 适配器。

作为 SOAP Web 服务端点,GPKI 适配器可发布自我描述的 Web 服务描述语言 (WSDL) 定义。创建 GPKI PKI 实体相当于通过 URL 或上载文件本身为 XenMobile 提供该 WSDL 定义。

可以选择是否支持适配器中的各个 PKI 操作。如果适配器支持某个给定操作,可以称之为拥有相应功能(签名、提取或吊销)。这些功能中的每一项均可与一组用户参数相关联。

用户参数是指 GPKI 适配器针对特定操作定义的参数,您必须向 XenMobile 提供这些参数的值。XenMobile 通过解析 WSDL 文件来确定适配器支持的操作以及适配器针对每个操作所需的参数。如果选择此项,则使用 SSL 客户端身份验证保护 XenMobile 与 GPKI 适配器之间的连接。

添加通用 PKI

  1. 在 XenMobile 控制台中,单击设置 > PKI 实体

  2. PKI 实体页面上,单击添加

    此时将显示一个 PKI 实体类型菜单。

    “PKI 实体”配置屏幕图

  3. 单击通用 PKI 实体

    此时将显示“通用 PKI 实体: 常规信息”页面。

    “PKI 实体”配置屏幕图

  4. 通用 PKI 实体: 常规信息页面上,执行以下操作:

    • 名称: 键入 PKI 实体的描述性名称。
    • WSDL URL: 键入描述适配器的 WSDL 的位置。
    • 身份验证类型: 单击要使用的身份验证方法。
    • HTTP Basic: 提供连接到适配器所需的用户名和密码。
    • 客户端证书: 选择正确的 SSL 客户端证书。
  5. 单击下一步

    此时将显示“通用 PKI 实体: 适配器功能”页面。

  6. 通用 PKI 实体: 适配器功能页面上,检查与适配器关联的功能和参数,然后单击下一步

    此时将显示通用 PKI 实体: 颁发 CA 证书页面。

  7. 在“通用 PKI 实体: 颁发 CA 证书”页面上,选择要用于此实体的证书。

    尽管实体可能会返回不同 CA 签名的证书,但通过给定证书提供程序获取的所有证书必须由同一个 CA 签名。因此,在配置凭据提供程序设置时,在分发页面上,选择在此处配置的证书之一。

  8. 单击保存

    实体将显示在 PKI 实体表格中。

Symantec 托管 PKI

XenMobile Server GPKI 支持包括 Symantec 托管 PKI(也称为 MPKI)。本节介绍如何为 Symantec 托管 PKI 设置 Windows Server 和 XenMobile Server。

必备条件

  • 访问 Symantec 托管 PKI 基础结构
  • 安装了以下组件的 Windows Server 2012 R2 服务器,如本文中所述:
    • Java
    • Apache Tomcat
    • Symantec PKI 客户端
    • Portecle
  • 访问 XenMobile 下载站点

在 Windows Server 上安装 Java

https://java.com/en/download/faq/java_win64bit.xml 下载 Java 并安装。在“安全警告”对话框中,单击运行

在 Windows Server 上安装 Apache Tomcat

https://tomcat.apache.org/download-80.cgi 下载 Apache Tomcat 32 位/64 位 Windows 服务安装程序并安装。在“安全警告”对话框中,单击运行。使用下面的示例作为指南,完成 Apache Tomcat 安装。

“Apache Tomcat Setup”(Apache Tomcat 设置)屏幕图

“Apache Tomcat Setup”(Apache Tomcat 设置)屏幕图

“Apache Tomcat Setup”(Apache Tomcat 设置)屏幕图

“Apache Tomcat Setup”(Apache Tomcat 设置)屏幕图

“Apache Tomcat Setup”(Apache Tomcat 设置)屏幕图

下一步,转至 Windows“Services”(服务)并将 Startup Type(启动类型)从 Manual(手动)更改为 Automatic(自动)。

Windows“Services”(服务)配置屏幕图

Windows“Services”(服务)配置屏幕图

在 Windows Server 上安装 Symantec PKI 客户端

从 PKI Manager 控制台下载安装程序。如果您无权访问该控制台,请从 Symantec 支持页面 How to download Symantec PKI Client(如何下载 Symantec PKI 客户端)下载安装程序。解压并运行该安装程序。

Symantec PKI 客户端安装图

Symantec PKI 客户端安装图

在“安全警告”对话框中,务必单击运行。按照安装程序中的说明完成安装。安装程序完成时,系统将提示您重新启动。

在 Windows Server 上安装 Portecle

https://sourceforge.net/projects/portecleinstall/files/ 下载安装程序,然后解压并运行该安装程序。

为 Symantec 托管 PKI 生成注册机构 (RA) 证书

客户端证书身份验证的密钥库包含在注册机构 (RA) 证书中,名为 RA.jks。以下步骤说明了如何使用 Portecle 生成该证书。也可以使用 Java CLI 生成 RA 证书。

本文还说明了如何上载 RA 证书和公用证书。

  1. 在 Portecle 中,转至 Tools(工具)> Generate Key Pair(生成密钥对),提供所需信息,然后生成密钥对。

    Portecle 配置屏幕图

  2. 右键单击该密钥对,然后单击 Generate Certification Request(生成证书请求)。

    Portecle 配置屏幕图

  3. 复制 CSR。

  4. 在 Symantec PKI Manager 中,生成 RA 证书:依次单击 Settings(设置) 和 Get a RA Certificate(获取 RA 证书),粘贴 CSR,然后单击 Continue(继续)。

    Symantec PKI Manager 配置屏幕图

  5. 单击 Download(下载)以下载生成的 RA 证书。

    Symantec PKI Manager 配置屏幕图

  6. 在 Portecle 中,导入 RA 证书:右键单击密钥对,然后单击 Import CA Reply(导入 CA 答复)。

    Portecle 配置屏幕图

  7. 在 Symantec PKI Manager 中:转至 Resources(资源)> Web Services(Web 服务),然后下载 CA 证书。

    Symantec PKI Manager 配置屏幕图

  8. 在 Portecle 中,将 RA 中间证书和根证书导入到密钥库中:转至 Tools(工具)> Import Trusted Certificates(导入可信证书)

    Portecle 配置屏幕图

  9. 导入 CA 后,在 Windows Server 上的 C:\Symantec 文件夹下将密钥库保存为 RA.jks。

    Portecle 配置屏幕图

在 Windows Server 上配置 Symantec PKI 适配器

  1. 以管理员身份登录 Windows Server。

  2. 上载您在前面部分中生成的 RA.jks 文件。此外,还请上载适用于您的 Symantec MPKI 服务器的公用证书 (cacerts.jks)。

  3. XenMobile Server 10 下载页面上,展开 Tools(工具)并下载 Symantec PKI 适配器文件。用户名为 XenMobile_Symantec_PKI_Adapter.zip。解压该文件并将这些文件复制到 Windows Server C: 驱动器:

    • custom_gpki_adapter.properties

    • Symantec.war

  4. 在记事本中打开 custom_gpki_adapter.properties 并编辑以下值:

    Gpki.CaSvc.Url=https://<managed PKI URL>
    
    # keystore for client-cert auth
    
    keyStore=C:\Symantec\RA.jks
    
    # truststore for server with self-signed root CA
    
    trustStore=C:\Symantec\cacerts.jks
    
  5. 在文件夹 <tomcat dir>\webapps 下复制 Symantec.war,然后启动 Tomcat。

  6. 验证是否已部署应用程序:打开 Web 浏览器并导航到 https://localhost/Symantec

  7. 导航到该文件夹 <tomcat dir>\webapps\Symantec\WEB-INF\classes 并编辑 gpki_adapter.properties。修改属性 CustomProperties,使其指向 C:\Symantec 文件夹下的 custom_gpki_adapter 文件:

    CustomProperties=C:\\Symantec\\custom_gpki_adapter.properties

  8. 重新启动 Tomcat,导航到 https://localhost/Symantec,然后复制端点地址。在下一部分中,请在配置 PKI 适配器时粘贴该地址。

    Symantec PKI 配置屏幕图

为 Symantec 托管 PKI 配置 XenMobile Server

请先完成 Windows Server 设置,然后再执行以下 XenMobile Server 配置。

导入 Symantec CA 证书并配置 PKI 实体

  1. 导入颁发最终用户证书的 Symantec CA 证书:在 XenMobile Server 控制台中,转至设置 > 证书并单击导入

    证书配置屏幕图

  2. 添加并配置 PKI 实体:转至设置 > PKI 实体,单击添加,然后选择通用 PKI 实体。在 WSDL URL 中,粘贴您在上一部分中配置 PKI 适配器时复制的端点地址,然后按如下所示附加 ?wsdl

    “PKI 实体”配置屏幕图

  3. 单击下一步。XenMobile 将从 WSDL 中填充参数名称。

    “PKI 实体”配置屏幕图

  4. 单击下一步,选择正确的 CA 证书,然后单击保存

    “PKI 实体”配置屏幕图

  5. 设置 > PKI 实体页面上,确认您添加的 PKI 实体的状态有效

    “PKI 实体”配置屏幕图

为 Symantec 托管 PKI 创建凭据提供程序

  1. 在 Symantec PKI Manager 控制台中,从证书模板中复制证书配置文件 OID

    Symantec PKI Manager 配置屏幕图

  2. 在 XenMobile Server 控制台中,转至设置 > 凭据提供程序,单击添加,然后按如下所示配置设置。

    • 名称: 为新提供程序配置键入唯一名称。此名称用于在 XenMobile 控制台的其他部分引用该配置。

    • 说明: 凭据提供程序的说明。尽管此字段为可选字段,但当您需要有关凭据提供程序的详细信息时,说明很有用。

    • 颁发实体: 选择证书颁发实体。

    • 颁发方法: 选择签名作为系统用于从已配置的实体中获取客户端证书的方法。

    • certParams: 添加以下值:commonName=${user.mail},otherNameUPN=${user.userprincipalname},mail=${user.mail}

    • certificateProfileid: 粘贴您在步骤 1 中复制的证书配置文件 OID。

    “凭据提供程序”配置屏幕图

  3. 单击下一步。在其余的每个页面(“证书签名请求”到“续订”)上,接受默认设置。完成后,单击保存

测试配置和对配置进行故障排除

  1. 创建凭据设备策略:转至配置 > 设备策略,单击添加,开始键入凭据,然后单击凭据

  2. 指定策略名称

  3. 按如下所示配置平台设置:

    • 凭据类型: 选择凭据提供程序

    • 凭据提供程序: 选择 Symantec 提供程序。

    “凭据提供程序”配置屏幕图

  4. 完成平台设置后,转至分配页面,将策略分配给交付组,然后单击保存

  5. 要检查策略是否已部署到设备,请转至管理 > 设备,选择设备,单击编辑,然后单击已分配的策略。以下示例显示了一个成功的策略部署。

    管理设备配置屏幕图

    如果该策略未部署,请登录 Windows Server 并检查 WSDL 是否正确加载。

    Windows Server 屏幕图

有关故障排除详细信息,请查看 <tomcat dir>\logs\catalina.<current date> 中的 Tomcat 日志。

Microsoft 证书服务

XenMobile 通过其 Web 注册界面与 Microsoft Certificate Services 交互。XenMobile 仅支持通过该界面颁发新证书(相当于 GPKI 签名功能)。如果 Microsoft CA 生成 NetScaler Gateway 用户证书,NetScaler Gateway 将支持续订和吊销这些证书。

要在 XenMobile 中创建 Microsoft CA PKI 实体,必须指定证书服务 Web 界面的基本 URL。如果选择此项,则使用 SSL 客户端身份验证保护 XenMobile 与证书服务 Web 界面之间的连接。

添加 Microsoft 证书服务实体

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

  2. PKI 实体页面上,单击添加

    此时将显示一个 PKI 实体类型菜单。

  3. 单击 Microsoft 证书服务实体

    此时将显示 Microsoft 证书服务实体: 常规信息页面。

  4. Microsoft 证书服务实体: 常规信息页面上,配置以下设置:

    • 名称: 为新实体键入名称,此名称以后将用于指代该实体。实体名称必须唯一。
    • Web 注册服务根 URL: 键入 Microsoft CA Web 注册服务的基本 URL,例如 https://192.0.2.13/certsrv/。该 URL 可能会使用纯 HTTP 或 HTTP-over-SSL。
    • certnew.cer 页面名称: certnew.cer 页面的名称。若非因为某些原因重命名了此页面,请使用默认名称。
    • certfnsh.asp: certfnsh.asp 页面的名称。若非因为某些原因重命名了此页面,请使用默认名称。
    • 身份验证类型: 选择要使用的身份验证方法。
      • HTTP Basic: 键入连接所需的用户名和密码。
      • 客户端证书: 选择正确的 SSL 客户端证书。
  5. 单击测试连接以确保服务器可以访问。如果不可访问,则会显示一条消息,指出连接失败。请检查配置设置。

  6. 单击下一步

    此时将显示 Microsoft 证书服务实体: 模板页面。在此页面上,指定 Microsoft CA 所支持模板的内部名称。创建凭据提供程序时,从此处定义的列表中选择模板。使用此实体的每个凭据提供程序仅使用一个此类模板。

    有关 Microsoft 证书服务模板的要求,请参阅您的 Microsoft Server 版本对应的 Microsoft 文档。除了证书中所述的证书格式要求外,XenMobile 对其分发的证书并无其他要求。

  7. Microsoft 证书服务实体: 模板页面上,单击添加,键入模板的名称,然后单击保存。为要添加的每个模板重复执行此步骤。

  8. 单击下一步

    此时将显示 Microsoft 证书服务实体: HTTP 参数页面。在此页面上,您可以指定自定义参数以供 XenMobile 添加到向 Microsoft Web 注册界面发送的 HTTP 请求。自定义参数仅对 CA 上运行的自定义脚本有用。

  9. Microsoft 证书服务实体: HTTP 参数页面上,单击添加,键入要添加的 HTTP 参数的名称和值,然后单击下一步

    此时将显示 Microsoft 证书服务实体: CA 证书页面。在此页面上,必须将系统通过此实体获取的证书的签署者告知 XenMobile。续订 CA 证书后,将在 XenMobile 中对其进行更新。XenMobile 以透明方式将更改应用于实体。

  10. Microsoft 证书服务实体: CA 证书页面上,选择要用于此实体的证书。

  11. 单击保存

    实体将显示在 PKI 实体表格中。

NetScaler 证书吊销列表 (CRL)

XenMobile 仅支持对第三方证书颁发机构使用证书吊销列表 (CRL)。如果您配置了 Microsoft CA,XenMobile 将使用 NetScaler 管理吊销。

配置基于客户端证书的身份验证时,请考虑是否配置 NetScaler 证书吊销列表 (CRL) 设置 Enable CRL Auto Refresh(启用 CRL 自动刷新)。此步骤可确保处于仅 MAM 模式的设备的用户无法使用设备上的现有证书进行身份验证。

XenMobile 将重新颁发新证书,因为吊销用户证书后,XenMobile 不会限制用户生成用户证书。此设置提高了 CRL 检查过期的 PKI 实体时 PKI 实体的安全性。

任意 CA

向 XenMobile 提供 CA 证书及关联的私钥时,将创建任意 CA。XenMobile 将根据您指定的参数,在内部处理证书颁发、吊销和状态信息。

配置任意 CA 时,可以为该 CA 激活联机证书状态协议 (OCSP) 支持。当且仅当启用了 OCSP 支持时,CA 才会向该 CA 颁发的证书中添加 id-pe-authorityInfoAccess 扩展。该扩展指向以下位置处的 XenMobile 内部 OCSP 响应者:

https://<server>/<instance>/ocsp

配置 OCSP 服务时,请为相关任意实体指定 OCSP 签名证书。可以将 CA 证书本身用作签署者。要避免 CA 私钥的不必要暴露(建议避免),请创建一个由 CA 证书签名并包含 id-kp-OCSPSigning extendedKeyUsage 扩展的委派 OCSP 签名证书。

XenMobile OCSP Responder Service 支持在请求中使用基本 OCSP 响应及以下散列算法:

  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512

响应通过 SHA-256 及签名证书的密钥算法(DSA、RSA 或 ECDSA)进行签名。

添加任意 CA

  1. 在 XenMobile 控制台中,单击控制台右上角的齿轮图标,然后单击更多 > PKI 实体

  2. PKI 实体页面上,单击添加

    此时将显示一个 PKI 实体类型菜单。

  3. 单击任意 CA

    此时将显示任意 CA: 常规信息页面。

  4. 任意 CA: 常规信息页面上,执行以下操作:

    • 名称: 键入任意 CA 的描述性名称。
    • 用于对证书请求进行签名的 CA 证书: 单击任意 CA 用于为证书请求签名的证书。

      此证书列表是根据您通过配置 > 设置 > 证书上载到 XenMobile 的 CA 证书(带私钥)生成的。

  5. 单击下一步

    此时将显示任意 CA: 参数页面。

  6. 任意 CA: 参数页面上,执行以下操作:

    • 序列号生成器: 任意 CA 为其颁发的证书生成序列号。从此列表中,单击按顺序不按顺序以确定序列号的生成方式。
    • 下一个序列号: 键入一个用于确定颁发的下一个序列号的值。
    • 证书有效期: 键入证书有效的天数。
    • 密钥用法: 通过将相应的密钥设置为,标识任意 CA 所颁发证书的目的。设置后,CA 仅限于为这些目的颁发证书。
    • 扩展密钥用法: 要添加更多参数,请单击添加,键入密钥名称,然后单击保存
  7. 单击下一步

    此时将显示任意 CA: 分发页面。

  8. 任意 CA: 分发页面上,选择分发模式:

    • 集中式: 服务器端密钥生成。Citrix 建议使用集中选项。在服务器上生成并存储私钥,然后分发到用户设备。
    • 分布式: 设备端密钥生成。私钥在用户设备上生成。此分布式模式使用 SCEP 并需要采用 keyUsage keyEncryption 扩展的 RA 加密证书和采用 keyUsage digitalSignature 扩展的 RA 签名证书。同一个证书可以同时用于加密和签名。
  9. 单击下一步

    此时将显示任意 CA: 联机证书状态协议(OCSP) 页面。

    任意 CA: 联机证书状态协议(OCSP) 页面上,执行以下操作:

    • 如果要向此 CA 签名的证书添加 AuthorityInfoAccess (RFC2459) 扩展,请将为此 CA 启用 OCSP 支持设置为。此扩展指向位于 https://<server>/<instance>/ocsp 的 CA OCSP 响应者。
    • 如果启用了 OCSP 支持,请选择 OSCP 签名 CA 证书。此证书列表使用您上载到 XenMobile 的 CA 证书生成。
  10. 单击保存

    任意 CA 将显示在 PKI 实体表格中。