Citrix ADC

导入和转换 SSL 文件

您现在可以从远程主机导入 SSL 资源(如证书、私钥、CRL 和 DH 密钥),即使不可用 FTP 访问这些主机。这在限制对远程主机的 shell 访问的环境中尤其有用。默认文件夹在 /nsconfig/ssl 中创建,如下所示:

  • 对于证书文件:/nsconfig/ssl/certfile
  • 对于私钥:/nsconfig/ssl/keyfile
  • 对于 CRL:/var/netscaler/ssl/crlfile
  • 对于 DH 键:/nsconfig/ssl/dhfile

支持从 HTTP 和 HTTPS 服务器导入。但是,如果文件位于需要客户端证书身份验证才能访问的 HTTPS 服务器上,则导入失败。

注意:

导入命令不存储在配置 (ns.conf) 文件中,因为重新启动后重新导入文件可能会导致错误。

导入证书文件

您可以使用 CLI 和 GUI 从远程主机导入文件(资源)。

使用 CLI 从远程主机导入证书文件

在命令提示窗口中,键入:

import ssl certFile [<name>] [<src>]

示例:

import ssl certfile my-certfile http://www.example.com/file_1
show ssl certfile
     Name : my-certfile
     URL : http://www.example.com/file_1

要删除证书文件,请使用 rm ssl certFile 命令,该命令仅接受 ‘name’ 参数。

使用 CLI 从远程主机导入密钥文件

在命令提示窗口中,键入:

import ssl keyFile [<name>] [<src>]

示例:

import ssl keyfile my-keyfile http://www.example.com/key_file
show ssl keyfile
     Name : my-keyfile
     URL : http://www.example.com/key_file

要删除密钥文件,请使用 rm ssl keyFile 命令,该命令仅接受 ‘name’ 参数。

使用 CLI 从远程主机导入 CRL 文件

在命令提示窗口中,键入:

import ssl crlFile [<name>] [<src>]

要删除 CRL 文件,请使用仅接受 <name> 参数的 rm ssl crlFile 命令。

示例:

import ssl crlfile my-crlfile http://www.example.com/crl_file

show ssl crlfile

    Name : my-crlfile
    URL : http://www.example.com/crl_file

使用 CLI 从远程主机导入 DH 文件

在命令提示窗口中,键入:

import ssl dhFile [<name>] [<src>]

示例:

import ssl dhfile my-dhfile http://www.example.com/dh_file
show ssl dhfile
     Name : my-dhfile
     URL : http://www.example.com/dh_file

要删除 DH 文件,请使用仅接受 <name> 参数的 rm ssl dhFile 命令。

使用 GUI 导入 SSL 资源

导航到流量管理”>“SSL”>“导入,然后选择相应的选项卡。

导入 PKCS #8 和 PKCS #12 证书

如果要使用网络中其他安全服务器或应用程序上已经拥有的证书和密钥,可以导出这些证书和密钥,然后将其导入 Citrix ADC 设备。您可能需要先转换导出的证书和密钥,然后才能将其导入 Citrix ADC 设备。

有关如何从网络中的安全服务器或应用程序导出证书的详细信息,请参阅要从中导出的服务器或应用程序的文档。

注意:

要在 Citrix ADC 设备上安装,密钥名称和证书名称不能包含 UNIX 文件系统支持的空格或特殊字符以外的空格或特殊字符。保存导出的密钥和证书时,请遵循相应的命名约定。

证书和私钥对通常以 PKCS #12 格式发送。该设备支持用于证书和密钥的 PEM 和 DER 格式。要将 PKCS #12 转换为 PEM 或 DER,或将 PEM 或 DER 转换为 PKCS #12,请参阅本页后面的“将 SSL 证书转换为导入或导出”部分。

Citrix ADC 设备不支持 PKCS #8 格式的 PEM 密钥。但是,您可以使用 OpenSSL 接口将这些密钥转换为受支持的格式,您可以从 CLI 或配置实用程序访问该接口。转换密钥之前,您需要验证私钥是否为 PKCS #8 格式。PKCS #8 格式的密钥通常以以以下文本开头:

-----BEGIN ENCRYPTED PRIVATE KEY-----



leuSSZQZKgrgUQ==



-----END ENCRYPTED PRIVATE KEY-----

从 CLI 打开 OpenSSL 接口

  1. 通过使用 SSH 客户端(如 PuTTY)打开与设备的 SSH 连接。
  2. 使用管理员凭据登录到该设备。
  3. 在命令提示符下,键入 shell。
  4. 在 shell 提示符处键入 openssl

从 GUI 中打开 OpenSSL 接口

导航到流量管理”>“SSL”,然后在“工具”组中选择OpenSSL 接口

使用 OpenSSL 接口将不受支持的 PKCS #8 密钥格式转换为加密支持的密钥格式

在 OpenSSL 提示符下,键入以下命令之一,具体取决于不受支持的密钥格式是 RSA 还是 DSA 类型:

OpenSSL>rsa- in <PKCS#8 Key Filename> -des3 -out <encrypted Key Filename>

OpenSSL>dsa -in <PKCS#8 Key Filename> -des3 -out <encrypted Key Filename>

用于将不受支持的密钥格式转换为受支持的密钥格式的参数

  • PKCS #8 密钥文件名: 不兼容的 PKCS #8 私钥的输入文件名。
  • 加密密钥文件名: PEM 格式的兼容加密私钥的输出文件名。
  • 未加密密钥文件名: PEM 格式的兼容未加密私钥的输出文件名。

将 SSL 证书转换为导入或导出

Citrix ADC 设备支持 SSL 证书的 PEM 和 DER 格式。其他应用程序(如客户端浏览器和某些外部安全服务器)需要各种公钥加密标准 (PKCS) 格式。Citrix ADC 设备可以将 PKCS #12 格式(个人信息交换语法标准)转换为 PEM 或 DER 格式,以便将证书导入设备,还可以将 PEM 或 DER 转换为 PKCS #12 以导出证书。为了提高安全性,导入文件的转换可以包括使用 DES 或 DES3 算法对私有密钥进行加密。

注意:

如果您使用 GUI 导入 PKCS #12 证书,并且密码包含美元符号 ($)、后引号 (`) 或转义 () 字符,则导入可能会失败。如果是这样,将显示错误:无效的密码消息。如果您必须在密码中使用特殊字符,请务必使用转义字符 () 前缀,除非所有导入都是通过 CLI 执行的。

使用 CLI 转换证书格式

在命令提示符下,键入以下命令:

convert ssl pkcs12 <outfile> [-import [-pkcs12File <inputFilename>] [-des | -des3] [-export [-certFile <inputFilename>] [-keyFile <inputFilename>]]

在操作过程中,系统会提示您输入导入密码或导出密码。对于加密文件,系统还会提示您输入密码。

示例:

convert ssl pkcs12 Cert-Import-1.pem -import -pkcs12File Cert-Import-1.pfx -des

convert ssl pkcs12 Cert-Client-1.pfx -export -certFile Cert-Client-1 -keyFile Key-Client-1

通过使用 GUI 转换证书的格式

  1. 导航到流量管理”>“SSL”,然后在工具组中选择导入 PKCS #12

    导入 PKCS #12

  2. 输出文件名”字段中指定 PEM 证书名称

  3. 浏览至本地计算机或设备上 PFX 证书的位置。

    浏览至 PFX 证书

  4. 单击确定

  5. 单击 管理证书/密钥/CSR 查看转换后的 PEM 文件。

    查看转换后的 PEM 文件

  6. 您可以查看上传的 PFX 文件和转换后的 PEM 文件。

    查看文件

  7. 导航到 SSL > 证书 > 服务器证书 ,然后单击 安装

    安装证书

  8. 指定 证书密钥对名称

  9. 浏览到 PEM 文件的位置。

  10. 出现提示时指定密码。

  11. 单击 安装

    安装服务器证书

  12. 将证书密钥对绑定到 SSL 虚拟服务器。

导入和转换 SSL 文件