ADC

SSL 常见问题解答

基本问题

对 VPX 实例的 HTTPS 访问 GUI 失败。我如何获得访问权限

对 GUI 的 HTTPS 访问需要证书密钥对。在 Citrix ADC 设备上,证书密钥对会自动绑定到内部服务。在 MPX 或 SDX 设备上,默认密钥大小为 1024 字节,在 VPX 实例上,默认密钥大小为 512 字节。但是,现今的大多数浏览器都不接受小于 1024 字节的密钥。因此,通过 HTTPS 访问 VPX 配置实用程序将被阻止。

Citrix 建议您安装至少 1024 个字节的证书密钥对,然后将其绑定到内部服务,以便对配置实用程序进行 HTTPS 访问。或者,将 ns-server-certificate 更新为 1024 个字节。您可以使用 HTTP 访问配置实用程序或 CLI 来安装证书。

如果我向 MPX 设备添加许可证,证书密钥对绑定将丢失。我该如何解决这个问题

如果 MPX 设备启动时不存在许可证,并且稍后添加许可证并重新启动设备,则可能会丢失证书绑定。重新安装证书并将其绑定到内部服务

Citrix 建议您在启动设备之前安装适当的许可证。

为 SSL 交易设置安全渠道涉及哪些步骤

为 SSL 交易设置安全渠道涉及以下步骤:

  1. 客户端向服务器发送安全通道的 HTTPS 请求。

  2. 选择协议和密码后,服务器将其证书发送给客户端。

  3. 客户端检查服务器证书的真实性。

  4. 如果任何检查失败,客户端将显示相应的反馈。

  5. 如果支票通过或者客户决定在检查失败的情况下继续,客户端将创建一个临时的一次性密钥。此密钥称为 预主密 钥,客户端使用服务器证书的公钥对此密钥进行加密。

  6. 服务器在收到预主密钥后,使用服务器的私钥对其进行解密并生成会话密钥。客户端还从预主机密钥生成会话密钥。因此,客户端和服务器现在都有一个共同的会话密钥,用于加密和解密应用程序数据。

我明白 SSL 是一个 CPU 密集型过程。与 SSL 进程相关的 CPU 成本是多少

以下两个阶段与 SSL 过程相关联:

  • 使用公钥和私钥技术进行初始握手和安全渠道设置。

  • 使用对称密钥技术批量数据加密。

上述两个阶段都可能会影响服务器性能,并且出于以下原因,它们需要大量的 CPU 处理:

  1. 最初的握手涉及公私密钥密码学,由于密钥大小(1024 位、2048 位、4096 位),这是非常耗费 CPU 的密集型。

  2. 数据的加密/解密也在计算上昂贵,这取决于必须加密或解密的数据量。

SSL 配置的各种实体有哪些

SSL 配置具有以下实体:

  • 服务器证书
  • 证书颁发机构 (CA) 证书
  • 密码套件,它为以下任务指定协议:
    • 初始密钥交换
    • 服务器和客户端验证
    • 批量加密算法
    • 消息验证
  • 客户端身份验证
  • CRL
  • SSL 证书密钥生成工具,使您能够创建以下文件:
    • 证书请求
    • 自签名证书
    • RSA 密钥
    • DH 参数

我想使用 Citrix ADC 设备的 SSL 卸载功能。接收 SSL 证书的各种选项有哪些

必须先收到 SSL 证书,然后才能在 Citrix ADC 设备上配置 SSL 设置。您可以使用以下任意方法来接收 SSL 证书:

  • 向授权证书颁发机构 (CA) 请求证书。

  • 使用现有的服务器证书。

  • 在 Citrix ADC 设备上创建证书密钥对。

注意: 此证书是由 Citrix ADC 设备生成的测试 Root-CA 签名的测试证书。浏览器不接受测试 Root-CA 签署的测试证书。浏览器抛出警告消息,指出无法对服务器的证书进行身份验证。

  • 出于测试目的以外的任何目的,必须提供有效的 CA 证书和 CA 密钥才能对服务器证书进行签名。

SSL 设置的最低要求是什么

配置 SSL 设置的最低要求如下:

  • 获取证书和密钥。
  • 创建负载平衡 SSL 虚拟服务器。
  • 将 HTTP 或 SSL 服务绑定到 SSL 虚拟服务器。
  • 将证书密钥对绑定到 SSL 虚拟服务器。

SSL 的各个组件有什么限制

SSL 组件有以下限制:

  • SSL 证书的位大小:4096。
  • SSL 证书的数量:取决于设备上的可用内存。
  • 最多链接的中间 CA SSL 证书:每个链 9 个。
  • CRL 吊销:取决于设备上的可用内存。

Citrix ADC 设备上的端到端数据加密涉及哪些步骤

Citrix ADC 设备上的服务器端加密过程涉及的步骤如下:

  1. 客户端连接到安全站点的 Citrix ADC 设备上配置的 SSL VIP。

  2. 收到安全请求后,设备会解密请求并应用第 4-7 层内容交换技术和负载平衡策略。然后,它为请求选择最佳可用的后端 Web 服务器。

  3. Citrix ADC 设备与所选服务器创建 SSL 会话。

  4. 建立 SSL 会话后,设备会加密客户端请求并使用安全 SSL 会话将其发送到 Web 服务器。

  5. 当设备收到来自服务器的加密响应时,它会解密并重新加密数据。然后,它使用客户端 SSL 会话将数据发送到客户端。

Citrix ADC 设备的多路复用技术使设备能够重复使用与 Web 服务器建立的 SSL 会话。因此,设备避免了 CPU 密集型密钥交换(称为 完全握手)。此过程减少了服务器上 SSL 会话的总数,并保持端到端的安全性。

证书和密钥

我可以将证书和密钥文件放在任何位置吗?有没有建议存储这些文件的位置

您可以将证书和密钥文件存储在 Citrix ADC 设备或本地计算机上。但是,Citrix 建议您将证书和密钥文件存储在 Citrix ADC 设备的 /nsconfig/ssl 目录中。/etc 目录存在于 Citrix ADC 设备的闪存中。此操作提供了可移植性,并有助于备份和恢复设备上的证书文件。

注意: 确保证书和密钥文件存储在同一目录中。

Citrix ADC 设备支持的证书密钥的最大大小是多少

运行 9.0 版之前的软件版本的 Citrix ADC 设备支持最大证书密钥大小为 2048 位。9.0 及更高版本支持最大证书密钥大小为 4096 位。此限制适用于 RSA 证书。

MPX 设备支持从 512 位到以下大小的证书:

  • 虚拟服务器上的 4096 位服务器证书

  • 服务上的 4096 位客户端证书

  • 4096 位 CA 证书(包括中间证书和根证书)

  • 后端服务器上的 4096 位证书

  • 4096 位客户端证书(如果在虚拟服务器上启用了客户端身份验证)

虚拟设备支持从 512 位到以下大小的证书:

  • 虚拟服务器上的 4096 位服务器证书

  • 服务上的 4096 位客户端证书

  • 4096 位 CA 证书(包括中间证书和根证书)

  • 12.0-56.x 版的后端服务器上的 4096 位证书。较旧版本支持 2048 位证书。

  • 12.0-56.x 版中的 2048 位客户端证书(如果虚拟服务器上启用了客户端身份验证)。

Citrix ADC 设备支持的 DH 参数的最大大小是多少

Citrix ADC 设备支持最多 2048 位的 DH 参数。

Citrix ADC 设备支持的最大证书链长度是多少,也就是链中证书的最大数量

在发送服务器证书消息时,Citrix ADC 设备最多可以在链中发送 10 个证书。最大长度的链包括服务器证书和九个中间 CA 证书。

Citrix ADC 设备支持哪些证书和密钥格式

Citrix ADC 设备支持以下证书和密钥格式:

  • 隐私增强邮件 (PEM)
  • 区分编码规则 (DER)

我可以在 Citrix ADC 设备上安装的证书和密钥的数量是否有限制

不。可安装的证书和密钥的数量仅受 Citrix ADC 设备上的可用内存的限制。

我已将证书和密钥文件保存在本地计算机上。我想使用 FTP 协议将这些文件传输到 Citrix ADC 设备。将这些文件传输到 Citrix ADC 设备是否有任何首选模式

是。如果使用 FTP 协议,则必须使用二进制模式将证书和密钥文件传输到 Citrix ADC 设备。

注意: 默认情况下,FTP 处于禁用状态。Citrix 建议使用 SCP 协议传输证书和密钥文件。配置实用程序隐式使用 SCP 连接到设备。

证书和密钥的默认目录路径是什么

证书和密钥的默认目录路径是 ‘/nsconfig/ssl’。

添加证书和密钥对时,如果我没有指定证书和密钥文件的绝对路径,会发生什么情况

添加证书密钥对时,请指定证书和密钥文件的绝对路径。如果不指定,ADC 设备将搜索这些文件的默认目录,然后尝试将它们加载到内核。默认目录是 /nsconfig/ssl。例如,如果设备的 /nsconfig/ssl 目录中有 cert1024.pem 和 rsa1024.pem 文件,则以下两个命令都成功:

add ssl certKey cert1 -cert cert1204.pem -key rsa1024.pem
<!--NeedCopy-->
add ssl certKey cert1 -cert /nsconfig/ssl/cert1204.pem -key /nsconfig/ssl/rsa1024.pem
<!--NeedCopy-->

我已经配置了高可用性设置。我想在安装程序中实现 SSL 功能。在高可用性设置中,我必须如何处理证书和密钥文件

在高可用性设置中,必须将证书和密钥文件存储在主 Citrix ADC 设备和辅助 Citrix ADC 设备上。在主设备上添加 SSL 证书密钥对之前,两台设备上的证书和密钥文件的目录路径必须相同。

nCipher nShield® HSM

与 nCipher nShield® HSM 集成时,在将 Citrix ADC 设备添加到 HA 时,我们是否必须记住任何特定配置

在 HA 中的两个节点上配置相同的 NCipHher 设备。不同步 HA 中的 nCipHher 配置命令。有关 nCipHER nShield® HSM 的先决条件的信息,请参阅 先决条件

我们是否必须将这两个设备单独集成到 nCipher nShield® HSM 和 RFS? 我们是否需要在 HA 设置之前还是之后完成此操作

您可以在 HA 设置之前或之后完成集成。如果集成是在 HA 设置之后完成的,则在配置辅助节点之前在主节点上导入的密钥不会同步到辅助节点。因此,Citrix 建议在 HA 设置之前进行 NCipHER 集成。

我们是否需要将密钥导入主要和辅助 Citrix ADC 设备中,还是将密钥从主节点同步到辅助节点

如果在形成 HA 之前在两台设备上集成了 nCipHher,则在集成过程中,这些密钥将自动从 RFS 同步。

鉴于 HSM 不在 Citrix ADC 设备上,而是在 NCiPHER 上,那么当节点出现故障并被替换时,密钥和证书会发生什么情况

如果节点出现故障,您可以通过在新节点上集成 nciPher 将密钥和证书同步到新节点。然后,运行以下命令:

sync ha files ssl
force ha sync
<!--NeedCopy-->

如果在集成 nCipher 的过程中同步了密钥,则会同步并添加证书。

密码

什么是空密码

没有加密的密码被称为空密码。例如,NULL-MD5 是一种空密码器。

默认情况下是否为 SSL VIP 或 SSL 服务启用空密码

不。默认情况下,SSL VIP 或 SSL 服务不启用空密码。

删除空密码的程序是什么

要从 SSL VIP 中删除空密码,请运行以下命令:

bind ssl cipher <SSL_VIP> REM NULL
<!--NeedCopy-->

要从 SSL 服务中删除空密码器,请运行以下命令:

bind ssl cipher <SSL_Service> REM NULL -service
<!--NeedCopy-->

Citrix ADC 设备支持哪些密码别名

要列出设备支持的密码别名,请在命令提示符处键入:

sh cipher
<!--NeedCopy-->

显示 Citrix ADC 设备的所有预定义密码的命令是什么

要显示 Citrix ADC 设备的所有预定义密码,请在 CLI 上键入:

show ssl cipher
<!--NeedCopy-->

显示 Citrix ADC 设备单个密码器详细信息的命令是什么

要显示 Citrix ADC 设备的单个密码的详细信息,请在 CLI 中键入:

show ssl cipher <Cipher_Name/Cipher_Alias_Name/Cipher_Group_Name>
<!--NeedCopy-->

示例:

show cipher SSL3-RC4-SHA
     1) Cipher Name: SSL3-RC4-SHA
     Description: SSLv3 Kx=RSA Au=RSA Enc=RC4(128)
    Mac=SHA1
     Done
<!--NeedCopy-->

添加 Citrix ADC 设备的预定义密码有什么意义

添加 Citrix ADC 设备的预定义密码将导致空密码被添加到 SSL VIP 或 SSL 服务中。

是否可以在不将密码与 Citrix ADC 设备上的密码组解除绑定的情况下更改密码器的顺序

是。可以在不从自定义密码组中解开密码器绑定的情况下更改密码的顺序。但是,您无法更改内置密码组中的优先级。要更改绑定到 SSL 实体的密码的优先级,请首先将密码与虚拟服务器、服务或服务组解除绑定。

注意: 如果绑定到 SSL 实体的密码组为空,则 SSL 握手将失败,因为没有协商密码。密码组必须至少包含一个密码器。

Citrix ADC 设备是否支持 ECDSA

以下 Citrix ADC 平台支持 ECDSA。有关受支持的版本的详细信息,请参阅 Citrix ADC 设备上提供的 Ciphers 中的表 1 和表 2。

  • 具有 N3 芯片的 Citrix ADC MPX 和 SDX 设备
  • Citrix ADC MPX 5900/8900/15000/26000
  • Citrix ADC SDX 8900/15000
  • Citrix ADC VPX 设备

Citrix ADC VPX 设备是否在前端支持 AES-GCM/SHA2 密码

是的,Citrix ADC VPX 设备支持 AES-GCM/SHA2 密码。有关受支持的内部版本的详细信息,请参阅 Citrix ADC 设备上提供的密码

证书

客户端证书中的判别名称是否可用于用户会话的长度

是。在用户会话期间,您可以在后续请求中访问客户端证书的可分辨名称。也就是说,即使在 SSL 握手完成且浏览器不会再次发送证书之后。使用以下示例配置中详细说明的变量和分配:

示例:

add ns variable v2 -type "text(100)"

add ns assignment a1 -variable "$v2" -set       "CLIENT.SSL.CLIENT_CERT.SUBJECT.TYPECAST_NVLIST_T('=','/').VALUE("CN")"

add rewrite action act1 insert_http_header subject "$v2"  // example: to insert the distinguished name in the header

add rewrite policy pol1 true a1

add rewrite policy pol2 true act1

bind rewrite global pol1 1 next -type RES_DEFAULT

bind rewrite global pol2 2 next -type RES_DEFAULT

set rewrite param -undefAction RESET
<!--NeedCopy-->

为什么我需要绑定服务器证书

绑定服务器证书是启用 SSL 配置以处理 SSL 事务的基本要求。

要将服务器证书绑定到 SSL VIP,请在 CLI 上键入:

bind ssl vserver <vServerName> -certkeyName <cert_name>
<!--NeedCopy-->

要将服务器证书绑定到 SSL 服务,请在 CLI 上键入:

bind ssl service <serviceName> -certkeyName <cert_name>
<!--NeedCopy-->

我可以将多少证书绑定到 SSL VIP 或 SSL 服务

在 Citrix ADC VPX、MPX/SDX (N3) 和 MPX/SDX 14000 FIPS 设备上,如果禁用 SNI,则可以将两个证书绑定到 SSL 虚拟服务器或 SSL 服务。证书必须是 RSA 和 ECDSA 类型的各一个证书。如果启用 SNI,则可以绑定多个类型为 RSA 或 ECDSA 的服务器证书。在 Citrix ADC MPX (N2) 或 MPX 9700 FIPS 设备上,如果禁用 SNI,则只能绑定一个 RSA 类型的证书。如果启用 SNI,则只能绑定 RSA 类型的多个服务器证书。

如果我解除绑定或覆盖服务器证书会发生什么情况

解除绑定或覆盖服务器证书时,使用现有证书创建的所有连接和 SSL 会话都将终止。覆盖现有证书时,将显示以下消息:

ERROR:

Warning: Current certificate replaces the previous binding.
<!--NeedCopy-->

如何在 Citrix ADC 设备上安装中间证书并链接到服务器证书

有关安装中间证书的信息,请参阅 http://support.citrix.com/article/ctx114146 上的文章。

当我尝试在 Citrix ADC 上安装证书时,为什么出现 “资源已存在” 错误

有关解决 “资源已存在” 错误的说明,请参阅 http://support.citrix.com/article/CTX117284 上的文章。

我想在 Citrix ADC 设备上创建服务器证书来测试和评估产品。创建服务器证书的过程是什么

执行以下步骤创建测试证书。

注意: 使用此过程创建的证书不能用于对所有用户和浏览器进行身份验证。使用证书进行测试后,必须获得由授权的根证书颁发机构签名的服务器证书。

要创建自签名服务器证书:

  1. 要创建根 CA 证书,请在 CLI 上键入:

    create ssl rsakey /nsconfig/ssl/test-ca.key 1024
    
    create ssl certreq /nsconfig/ssl/test-ca.csr -keyfile /nsconfig/ssl/test-ca.key
    
    Enter the required information when prompted, and then type the following command:
    
    create ssl cert /nsconfig/ssl/test-ca.cer /nsconfig/ssl/test-ca.csr ROOT_CERT -keyfile /nsconfig/ssl/test-ca.key
    <!--NeedCopy-->
    
  2. 执行以下过程创建服务器证书并使用刚创建的根 CA 证书对其进行签名

    1. 要创建请求和密钥,请在 CLI 上键入:

      create ssl rsakey /nsconfig/ssl/test-server.key 1024
      
          create ssl certreq /nsconfig/ssl/test-server.csr -keyfile /nsconfig/ssl/test-server.key
      <!--NeedCopy-->
      
    2. 出现提示时输入所需信息。

    3. 要创建序列号文件,请在 CLI 中键入:

      shell
       # echo '01' >
      /nsconfig/ssl/serial.txt
       # exit
      <!--NeedCopy-->
      
    4. 要创建由在步骤 1 中创建的根 CA 证书签名的服务器证书,请在 CLI 中键入:

      create ssl cert /nsconfig/ssl/test-server.cer /nsconfig/ssl/test-server.csr SRVR_CERT -CAcert /nsconfig/ssl/test-ca.cer -CAkey /nsconfig/ssl/test-ca.key -CAserial /nsconfig/ssl/serial.txt
      <!--NeedCopy-->
      
    5. 要创建 Citrix ADC 证书密钥对(保存 SSL 握手和批量加密的服务器证书信息的内存中对象),请在 CLI 上键入:

      add ssl certkey test-certkey -cert /nsconfig/ssl/test-server.cer -key /nsconfig/ssl/test-server.key
      <!--NeedCopy-->
      
    6. 要将证书密钥对绑定到 SSL 虚拟服务器,请在 CLI 上键入:

      bind ssl vserver <vServerName> -certkeyName <cert_name>
      <!--NeedCopy-->
      

我收到了安装了 NetScaler 软件版本 9.0 的 Citrix ADC 设备。我注意到设备上有额外的许可证文件。从 NetScaler 软件 9.0 版开始,许可策略有什么变化吗

是。从 Citrix NetScaler 软件版本 9.0 开始,设备可能没有单个许可证文件。许可证文件的数量取决于 Citrix ADC 软件发行版。例如,如果您安装了高级版,则可能需要额外的许可证文件才能实现各种功能的全部功能。但是,如果您安装了高级版,则设备只有一个许可证文件。

如何从互联网信息服务 (IIS) 导出证书

有很多方法,但是通过使用以下方法导出适当的网站证书和私钥。必须在实际的 IIS 服务器上执行此过程。

  1. 打开互联网信息服务 (IIS) 管理器管理工具。

  2. 展开网站节点并找到要通过 Citrix ADC 设备提供服务的支持 SSL 的网站。

  3. 右键单击此网站然后单击属性。

  4. 单击目录安全选项卡,然后在窗口的安全通信部分中,选择查看证书框。

  5. 单击详细信息选项卡,然后单击复制到文件。

  6. 在欢迎使用证书导出向导页面上,单击下一步。

  7. 选择是,导出私钥,然后单击下一步。

    注意: 必须导出私钥才能进行 SSL 卸载才能在 Citrix ADC 上工作。

  8. 确保选中了 “个人信息交换-PKCS #12” 单选按钮,然后 选中 “如果可能的话将所有证书包括在认证路径中” 复选框。单击下一步。

  9. 输入密码然后单击 “下一步”。

  10. 输入文件名和位置,然后单击 “下一步”。为文件赋予 .PFX 的扩展名。

  11. 单击完成。

如何转换 PKCS #12 证书并将其安装在 Citrix ADC 上

  1. 将导出的 .PFX 证书文件移动到可以将其复制到 Citrix ADC 设备的位置。也就是说,适用于允许 SSH 访问 Citrix ADC 设备管理界面的计算机。使用 SCP 之类的安全复制实用程序将证书复制到设备。

  2. 访问 BSD shell 并将证书(例如 Cert.pfx)转换为 .PEM 格式:

    root@ns# openssl pkcs12 -in cert.PFX -out cert.PEM
    <!--NeedCopy-->
    
  3. 要确保转换后的证书采用正确的 x509 格式,请验证以下命令不产生错误:

    root@ns# openssl x509 -in cert.PEM -text
    <!--NeedCopy-->
    
  4. 验证证书文件是否包含私钥。首先发出以下命令:

    root@ns# cat cert.PEM
    
    Verify that the output file includes an RSA PRIVATE KEY section.
    
    -----BEGIN RSA PRIVATE KEY-----
    Mkm^s9KMs9023pz/s...
    -----END RSA PRIVATE KEY-----
    <!--NeedCopy-->
    

    以下是 RSA 私钥部分的另一个示例:

        Bag Attributes
        1.3.6.1.4.1.311.17.2: <No Values>
        localKeyID: 01 00 00 00
        Microsoft CSP Name: Microsoft RSA SChannel Cryptographic
        Provider
        friendlyName:
        4b9cef4cc8c9b849ff5c662fd3e0ef7e_76267e3e-6183-4d45-886e-6e067297b38f
    
        Key Attributes
        X509v3 Key Usage: 10
        -----BEGIN RSA PRIVATE KEY-----
        Proc-Type: 4,ENCRYPTED
        DEK-Info: DES-EDE3-CBC,43E7ACA5F4423968
        pZJ2SfsSVqMbRRf6ug37Clua5gY0Wld4frPIxFXyJquUHr31dilW5ta3hbIaQ+Rg
    
        ... (more random characters)
        v8dMugeRplkaH2Uwt/mWBk4t71Yv7GeHmcmjafK8H8iW80ooPO3D/ENV8X4U/tlh
    
        5eU6ky3WYZ1BTy6thxxLlwAullynVXZEflNLxq1oX+ZYl6djgjE3qg==
        -----END RSA PRIVATE KEY-----
    <!--NeedCopy-->
    

    以下是服务器证书部分:

        Bag Attributes
        localKeyID: 01 00 00 00
        friendlyName: AG Certificate
        subject=/C=AU/ST=NSW/L=Wanniassa/O=Dave Mother
        Asiapacific/OU=Support/CN=davemother.food.lan
        issuer=/DC=lan/DC=food/CN=hotdog
        -----BEGIN CERTIFICATE-----
        MIIFiTCCBHGgAwIBAgIKCGryDgAAAAAAHzANBgkqhkiG9w0BAQUFADA8MRMwEQYK
    
        ... (more random characters) 5pLDWYVHhLkA1pSxvFjNJHRSIydWHc5ltGyKqIUcBezVaXyel94pNSUYx07NpPV/
    
        MY2ovQyQZM8gGe3+lGFum0VHbv/y/gB9HhFesog=
        -----END CERTIFICATE-----
    <!--NeedCopy-->
    

    以下是中级 CA 证书部分:

        Bag Attributes: <Empty Attributes>
        subject=/DC=lan/DC=food/CN=hotdog
        issuer=/DC=lan/DC=food/CN=hotdog
        -----BEGIN CERTIFICATE-----
        MIIESDCCAzCgAwIBAgIQah20fCRYTY9LRXYMIRaKGjANBgkqhkiG9w0BAQUFADA8
    
        ... (more random characters) Nt0nksawDnbKo86rQcNnY5xUs7c7pj2zxj/IOsgNHUp5W6dDI9pQoqFFaDk=
    
        -----END CERTIFICATE-----
    <!--NeedCopy-->
    

    根据导出证书的认证路径,可能会跟随其他中间 CA 证书。

  5. 在文本编辑器中打开 .PEM 文件

  6. 找到 .PEM 文件的第一行和以下行的第一个实例,然后复制这两行以及它们之间的所有行:

    -----END CERTIFICATE-----
    
    Note: Make sure that last copied line is the first
    -----END CERTIFICATE----- line in the .PEM file.
    
    <!--NeedCopy-->
    
  7. 将复制的行粘贴到新文件中。将新文件称为直观的东西,例如 cert-key.pem。此证书密钥对适用于托管 HTTPS 服务的服务器。此文件必须同时包含前面的示例中标记为 RSA 私钥的部分和标记为 SERVER CREDER 的部分。

    注意: 证书密钥对文件包含私钥,必须保持安全。

  8. 找到以 —BEGIN CEND CEND-开头并以 —END CEND CEND-结尾的任何后续部分,然后将每个此类部分复制到单独的新文

    这些部分对应于已包含在认证路径中的受信任 CA 的证书。必须将这些部分复制并粘贴到这些证书的新单个文件中。例如,必须将前面示例的中间 CA 证书部分复制并粘贴到新文件中)。

    对于原始文件中的多个中间 CA 证书,请按文件中显示的顺序为每个中间 CA 证书创建文件。跟踪(使用适当的文件名)证书的出现顺序,因为它们必须在后面的步骤中以正确的顺序链接在一起。

  9. 将证书密钥文件(cert-key.pem)和任何其他 CA 证书文件复制到 Citrix ADC 设备上的 /nsconfig/ssl 目录中。

  10. 退出 BSD 外壳并访问 Citrix ADC 提示符。

  11. 按照 “在设备上安装证书密钥文件” 中的步骤,在设备上传后安装密钥/证书。

如何转换 PKCS #7 证书并将其安装在 Citrix ADC 设备上

您可以使用 OpenSSL 将 PKCS #7 证书转换为 Citrix ADC 设备可识别的格式。该过程与 PKCS #12 证书的过程相同,只是您使用不同的参数调用 OpenSSL。转换 PKCS #7 证书的步骤如下:

  1. 使用安全复制实用程序(例如 SCP)将证书复制到设备。

  2. 将证书(例如,cert.P7B)转换为 PEM 格式:

    openssl pkcs7 -inform DER -in cert.p7b -print_certs -text -out cert.pem
    <!--NeedCopy-->
    
  3. 按照 PKCS #12 证书答案中所述的步骤 3 到 7 进行操作。 注意:在将转换后的 PKCS #7 证书加载到设备之前,请验证证书是否包含私钥,完全如 PKCS #12 过程的步骤 3 所述。PKCS #7 证书,特别是从 IIS 导出的证书,通常不包含私钥。

当我使用 bind 密码命令将密码器绑定到虚拟服务器或服务时,我会看到错误消息 “命令已弃用。“

将密码绑定到虚拟服务器或服务的命令已更改。

使用 bind ssl vserver <vsername> -ciphername <ciphername> 命令将 SSL 密码绑定到 SSL 虚拟服务器。

使用 bind ssl service <serviceName> -ciphername <ciphername> 命令将 SSL 密码绑定到 SSL 服务。

注意: 新的密码和密码组将添加到现有列表中,而不是替换。

为什么我不能创建一个密码组并使用 add 密码命令将密码绑定到它

在版本 10 中,add 密码命令功能已更改。该命令只创建一个密码组。要向组中添加密码,请使用 bind 密码命令。

OpenSSL

如何使用 OpenSSL 在 PEM 和 DER 之间转换证书

要使用 OpenSSL,你必须有 OpenSSL 软件的正常安装程序,并能够从命令行运行 OpenSSL。

x509 证书和 RSA 密钥可以以多种不同的格式存储。

两种常见的格式是:

  • DER(主要由 Java 和 Macintosh 平台使用的二进制格式)
  • PEM(带有页眉和页脚信息的 DER base64 表示形式,主要由 UNIX 和 Linux 平台使用)。

除了根证书和任何中间证书外,密钥和相应的证书也可以存储在单个 PKCS #12 (.P12, .PFX) 文件中。

过程

使用 OpenSSL 命令在格式之间进行转换,如下所示:

  1. 要将证书从 PEM 转换为 DER:

    x509 -in input.crt -inform PEM -out output.crt -outform DER
    <!--NeedCopy-->
    
  2. 要将证书从 DER 转换为 PEM:

    x509 -in input.crt -inform DER -out output.crt -outform PEM
    <!--NeedCopy-->
    
  3. 要将密钥从 PEM 转换为 DER:

    rsa -in input.key -inform PEM -out output.key -outform DER
    <!--NeedCopy-->
    
  4. 要将密钥从 DER 转换为 PEM:

    rsa -in input.key -inform DER -out output.key -outform PEM
    <!--NeedCopy-->
    

    注意: 如果您要导入的密钥是使用支持的对称密码加密的,系统会提示您输入密码短语。

    注意: 要将密钥转换为过时的 NET(Netscape 服务器)格式或从中转换密钥,请根据需要将 NET 替换 PEM 或 DER。存储的密钥使用弱的无盐 RC4 对称密码进行加密,因此请求密码短语。空白的密码短语是可以接受的。

系统限制

要记住的重要数字是什么

  1. 创建证书请求:

    • 请求文件名:最多 63 个字符
    • 密钥文件名:最多 63 个字符
    • PEM 密码短语(对于加密密钥):最多 31 个字符
    • 通用名称:最多 63 个字符
    • 城市:最多 127 个字符
    • 组织名称:最多 63 个字符
    • 州/省名称:最多 63 个字符
    • 电子邮件地址:最多 39 个字符
    • 组织单位:最多 63 个字符
    • 挑战密码:最多 20 个字符
    • 公司名称:最多 127 个字符
  2. 创建证书:

    • 证书文件名:最多 63 个字符
    • 证书请求文件名:最多 63 个字符
    • 密钥文件名:最多 63 个字符
    • PEM 密码短语:最多 31 个字符
    • 有效期:最长 3650 天
    • CA 证书文件名:最多 63 个字符
    • CA 密钥文件名:最多 63 个字符
    • PEM 密码短语:最多 31 个字符
    • CA 序列号文件:最多 63 个字符
  3. 创建并安装服务器测试证书:

    • 证书文件名:最多 31 个字符
    • 完全限定域名:最多 63 个字符
  4. 创建 Diffie-Hellman (DH) 密钥:
    • DH 文件名(带路径):最多 63 个字符
    • DH 参数大小:最大 2048 位
  5. 导入 PKCS12 密钥:

    • 输出文件名:最多 63 个字符
    • PKCS12 文件名:最多 63 个字符
    • 导入密码:最多 31 个字符
    • PEM 密码短语:最多 31 个字符
    • 验证 PEM 密码短语:最多 31 个字符
  6. 导出 PKCS12
    • PKCS12 文件名:最多 63 个字符
    • 证书文件名:最多 63 个字符
    • 密钥文件名:最多 63 个字符
    • 导出密码:最多 31 个字符
    • PEM 密码短语:最多 31 个字符
  7. CRL 管理:
    • CA 证书文件名:最多 63 个字符
    • CA 密钥文件名:最多 63 个字符
    • CA 密钥文件密码:最多 31 个字符
    • 索引文件名:最多 63 个字符
    • 证书文件名:最多 63 个字符
  8. 创建 RSA 密钥:
    • 密钥文件名:最多 63 个字符
    • 密钥大小:最大 4096 位
    • PEM 密码短语:最多 31 个字符
    • 验证密码短语:最多 31 个字符
  9. 更改高级 SSL 设置:
    • 最大 CRL 内存大小:最大 1024 MB
    • 加密触发器超时(10 毫秒刻度):最多 200 个
    • 加密触发数据包计数:最多 50
    • OCSP 缓存大小:最大 512 MB
  10. 安装证书:
    • 证书密钥对名称:最多 31 个字符
    • 证书文件名:最多 63 个字符
    • 私钥文件名:最多 63 个字符
    • 密码:最多 31 个字符
    • 通知期限:最多 100
  11. 创建密码组:
    • 密码组名称:最多 39 个字符
  12. 创建 CRL:
    • CRL 名称:最多 31 个字符
    • CRL 文件:最多 63 个字符
    • URL:最多 127 个字符
    • 基本 DN:最多 127 个字符
    • 绑定 DN:最多 127 个字符
    • 密码:最多 31 个字符
    • 天数:最多 31
  13. 创建 SSL 策略:
    • 名称:最多 127 个字符
  14. 创建 SSL 操作:
    • 名称:最多 127 个字符
  15. 创建 OCSP 响应程序:
    • 名称:最多 32 个字符
    • URL:最多 128 个字符
    • 批处理深度:最大 8
    • 批处理延迟:最大 10000
    • 按时生产的倾斜:最大 86400
    • 请求超时:最长 120000
  16. 创建虚拟服务器:
    • 名称:最多 127 个字符
    • 重定向 URL:最多 127 个字符
    • 客户端超时:最长 31536000 秒
  17. 创建服务:
    • 名称:最多 127 个字符
    • 空闲超时(秒): 客户端:最大 31536000 服务器:最大 31536000
  18. 创建服务组:
    • 服务组名称:最多 127 个字符
    • 服务器 ID:最大 4294967295
    • 空闲超时(秒): 客户端:最大值 31536000 服务器:最大 31536000
  19. 创建监控器:
    • 名称:最多 31 个字符
  20. 创建服务器:
    • 服务器名称:最多 127 个字符
    • 域名:最多 255 个字符
    • 解决重试:最长 20939 秒
SSL 常见问题解答