Product Documentation

PKI 实体

Feb 27, 2017

XenMobile 公钥基础结构 (PKI) 实体配置代表执行实际 PKI 操作(颁发、吊销和状态信息)的组件。这些组件可能是 XenMobile 的内部组件(在此情况下称为任意实体)或者 XenMobile 外部组件(如果组件是企业基础结构的一部分)。

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

  • 任意证书颁发机构 (CA)
  • 通用 PKI (GPKI)
  • Microsoft 证书服务

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 证书,但对于外部实体,必须手动指定证书。

通用 PKI

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

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

GPKI 协议的接收端是 GPKI 适配器。该适配器将基本操作转换为其构建所针对的特定类型的 PKI。换言之,RSA 有一个 GPKI 适配器,EnTrust 有另一个适配器,依此类推。

作为 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 实体类型菜单。

localized image

3. 单击通用 PKI 实体

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

localized image

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

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

5. 单击下一步

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

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

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

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

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

8. 单击保存

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

Microsoft 证书服务

XenMobile 通过其 Web 注册界面与 Microsoft Certificate Services 交互。XenMobile 仅支持通过该界面颁发新证书(相当于 GPKI 签名功能)。

要在 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 基本:键入连接所需的用户名和密码。
    • 客户端证书:选择正确的 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 中更新此证书,随之更改将以透明方式应用于实体。

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. 单击下一步

此时将显示 Discretionary CA: Parameters(任意 CA: 参数)页面。

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

7. 单击下一步

此时将显示 Discretionary CA: Distribution(任意 CA: 分发)页面。

8. 在 Discretionary CA: Distribution(任意 CA: 分发)页面上,选择分发模式:

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

9. 单击下一步

此时将显示 Discretionary CA: Online Certificate Status Protocol (OCSP)(任意 CA: 在线证书状态协议(OCSP))页面。

Discretionary CA: Online Certificate Status Protocol (OCSP)(任意 CA: 在线证书状态协议(OCSP))页面上,执行以下操作:

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

10. 单击保存

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