SSL 常见问题解答

基本问题

HTTPS 访问 GUI 失败在 VPX 实例上。如何获得访问权限?

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

Citrix 建议您安装至少 1024 字节的证书密钥对,并将其绑定到内部服务以便对配置实用程序进行 HTTPS 访问,或将 ns-服务器证书更新为 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 证书密钥生成工具,使您能够创建以下文件:
    • 证书请求
    • 自签名证书
    • 登记册生活津贴和每日生活津贴密钥
    • DH 参数

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

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

  • 请求授权 CA 的证书。

  • 使用现有服务器证书。

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

注意: 这是由 Citrix ADC 设备生成的测试根 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 和 DSA 证书。

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

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

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

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

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

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

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

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

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

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

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

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

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”。

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

添加证书和密钥对时,如果未指定证书和密钥文件的绝对路径,Citrix ADC 设备将搜索指定文件的默认目录 /nsconfig/ssl,并尝试将其加载到内核。例如,如果 cert1024.pem 和 rsa1024.pem 文件位于设备的 /nsconfig/ssl 目录中,则以下两个命令都会成功:

add ssl certKey cert1 -cert cert1204.pem -key rsa1024.pem
add ssl certKey cert1 -cert /nsconfig/ssl/cert1204.pem -key /nsconfig/ssl/rsa1024.pem

我已配置高可用性设置。我想在设置上实现 SSL 功能。如何处理高可用性设置中的证书和密钥文件?

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

Thales nShield® HSM

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

您必须在 HA 中的两个节点上配置相同的 Thales 设备。Thales 配置命令不会在 HA 中同步。有关 Thales nShield® HSM 的必备条件的信息,请参阅必备条件

我们是否必须将这两款设备与 Thales nShield® HSM 和 RFS 单独集成? 我们是否需要在 HA 设置之前或之后执行此操作?

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

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

如果 Thales 在形成 HA 之前在两个设备上集成,则在集成过程中,密钥会自动从 RFS 同步。

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

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

sync ha files ssl
force ha sync

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

密码

什么是空密码?

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

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

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

删除空密码的程序是什么?

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

bind ssl cipher <SSL_VIP> REM NULL

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

bind ssl cipher <SSL_Service> REM NULL -service

Citrix ADC 设备上支持的各种密码别名是什么?

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

sh cipher

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

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

show ssl cipher

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

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

show ssl cipher <Cipher_Name/Cipher_Alias_Name/Cipher_Group_Name>

示例:

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

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

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

证书

客户端证书中的可分辨名称是否适用于用户会话的长度?

是。您可以在用户会话期间访问后续请求中的客户端证书的可分辨名称,即使在 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

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

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

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

bind ssl vserver <vServerName> -certkeyName <cert_name>

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

bind ssl service <serviceName> -certkeyName <cert_name>

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

在 Citrix ADC 虚拟设备上,您最多可以将三个证书绑定到 SSL VIP 或 SSL 服务,每个证书类型为 RSA、ECDSA 和 DSA。在 Citrix ADC MPX (N2) 或 MPX-FIPS 设备上,如果启用了 SNI,则可以绑定 RSA 类型的多个服务器证书。如果禁用了 SNI,您可以绑定最多一个类型为 RSA 的证书。在 Citrix ADC MPX (N3) 和 Citrix ADC MPX/SDX FIPS 设备上,您最多可以将两个证书绑定到 SSL VIP 或 SSL 服务,每个证书类型为 RSA 和 ECDSA 类型。

注意: MPX 或 MPX-FIPS 平台上不支持 DSA 证书。

SNI 是否支持使用者备用名称 (SAN) 证书?

否。在 Citrix ADC 设备上,SAN 扩展证书不支持 SNI。

如果我取消绑定或覆盖服务器证书,会发生什么情况?

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

ERROR:

Warning: Current certificate replaces the previous binding.

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

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

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

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

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

执行以下过程以创建测试证书。

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

要创建自签名服务器证书,请执行以下操作:

  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
    
  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
      
    2. 出现提示时输入所需信息。

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

      shell
       # echo '01' >
      /nsconfig/ssl/serial.txt
       # exit
      
    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
      
    5. 要创建 Citrix ADC 证书密钥,该证书密钥是保存 SSL 握手和批量加密的服务器证书信息的内存中对象,请在 CLI 中键入:

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

      bind ssl vserver <vServerName> -certkeyName <cert_name>
      

我收到了安装了 NetScaler 软件版本 9.0 的 Citrix ADC 设备。我注意到设备上的额外许可证文件。从 NetScaler 软件版本 9.0 开始的许可策略是否有任何更改?

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

如何从 Internet 信息服务 (IIS) 导出证书?

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

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

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

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

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

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

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

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

    注意: 必须导出私钥,才能在 Citrix ADC 上使用 SSL 卸载。

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

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

  10. 输入文件名和位置,然后单击下一步。给文件一个 .PFX 的扩展名。

  11. 单击完成。

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

  1. 将导出的 .PFX 证书文件移动到可以将其复制到 Citrix ADC 的位置(即移动到允许 SSH 访问 Citrix ADC 设备管理界面的计算机)。使用安全复制实用程序(如 SCP)将证书复制到设备。

  2. 访问 BSD 外壳并将证书(例如,cert.PFX)转换为 .PEM 格式:

    root@ns# openssl pkcs12 -in cert.PFX -out cert.PEM
    
  3. 若要确保转换后的证书为正确的 x509 格式,请验证以下命令是否不会产生错误:

    root@ns# openssl x509 -in cert.PEM -text
    
  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-----
    

    以下是 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-----
    

    以下是服务器证书部分:

        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-----
    

    以下是中间 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-----
    

    根据导出的证书路径,可能会接下来的中间 CA 证书。

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

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

    -----END CERTIFICATE-----
    
    Note: Make sure that last copied line is the first
    -----END CERTIFICATE----- line in the .PEM file.
    
    
  7. 将复制的行粘贴到新文件中。调用新文件直观的东西,例如 cert-key.pem。这是托管 HTTPS 服务的服务器的证书密钥对。此文件应包含上述示例中标记为 RSA 私钥的部分和标记为服务器证书的部分。

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

  8. 找到以 —BEIN 证书开头和以 —ENT 证书结尾的任何后续部分,并将每个这样的部分复制到单独的新文件中。

    这些部分对应于证书路径中包含的受信任 CA 的证书。应将这些部分复制并粘贴到这些证书的新单独文件中。例如,上述示例的中间 CA 证书部分应复制并粘贴到新文件中)。

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

  9. 将证书密钥文件(证书密钥 .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
    
  3. 按照 PKCS #12 证书的答案中所述执行步骤 3 到步骤 7。 注意:在将转换后的 PKCS #7 证书加载到设备之前,请确保验证其中包含私钥,完全符合 PKCS #12 过程的步骤 3 中所述。PKCS #7 证书(尤其是从 IIS 导出的证书)通常不包含私钥。

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

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

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

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

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

为什么我不能创建一个新的密码组并使用添加密码命令将密码绑定到它?

添加密码命令功能在版本 10 中发生了更改。该命令仅创建密码组。要向组添加密码,请使用绑定密码命令。

OpenSSL

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

要使用 OpenSSL,您必须具有 OpenSSL 软件的工作安装,并且能够从命令行执行 OpenSSL。

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

两种常见格式是 DER(主要由 Java 和 Macintosh 平台使用的二进制格式)和 PEM(包含页眉和页脚信息的 DER 的 base64 表示,主要由 UNIX 和 Linux 平台使用)。还有一个过时的 NET(Netscape 服务器)格式使用的早期版本的 IIS(直至包括 4.0)和其他各种不太常见的格式,本文未介绍。

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

过程

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

  1. 要将证书从 PEM 转换为 DER,请执行以下操作:

    x509 -in input.crt -inform PEM -out output.crt -outform DER
    
  2. 要将证书从 DER 转换为 PEM,请执行以下操作:

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

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

    rsa -in input.key -inform DER -out output.key -outform PEM
    

    注意: 如果要导入的密钥使用支持的对称密码进行加密,系统将提示您输入密码。

    注意: 要将密钥转换为或从过时的 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. 创建差异-地尔曼(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. 创建 DSA 密钥:
    • 密钥文件名:最多 63 个字符
    • 密钥大小:最大 4096 位
    • PEM 密码:最多 31 个字符
    • 验证密码:最多 31 个字符
  10. 更改高级 SSL 设置:
    • 最大 CRL 内存大小:最大 1024 兆字节
    • 加密触发超时(10 毫秒刻度):最大 200
    • 加密触发数据包计数:最大 50
    • OCSP 高速缓存大小:最大 512 兆字节
  11. 安装证书:
    • 证书密钥对名称:最多 31 个字符
    • 证书文件名:最多 63 个字符
    • 私钥文件名:最多 63 个字符
    • 密码:最多 31 个字符
    • 通知期限:最多 100
  12. 创建密码组:
    • 密码组名称:最多 39 个字符
  13. 创建 CRL:
    • CRL 名称:最多 31 个字符
    • CRL 文件:最多 63 个字符
    • URL:最多 127 个字符
    • 基本 DN:最多 127 个字符
    • 绑定 DN:最多 127 个字符
    • 密码:最多 31 个字符
    • 天数:最多 31
  14. 创建 SSL 策略:
    • 名称:最多 127 个字符
  15. 创建 SSL 操作:
    • 名称:最多 127 个字符
  16. 创建 OCSP 响应程序:
    • 名称:最多 32 个字符
    • URL:最多 128 个字符
    • 批处理深度:最大 8
    • 批处理延迟:最大限度 10000
    • 时间偏斜产生:最大 86400
    • 请求超时:最大值 120000
  17. 创建虚拟服务器:
    • 名称:最多 127 个字符
    • 重定向 URL:最多 127 个字符
    • 客户端超时:最大 31536000 万秒
  18. 创建服务:
    • 名称:最多 127 个字符
    • 空闲超时(秒): 客户端:最大值 31536000 服务器:最大值 31536000
  19. 创建服务组:
    • 服务组名称:最多 127 个字符
    • 服务器编号:最大值为 4294967295
    • 空闲超时(秒): 客户端:最大值 31536000 服务器:最大值 31536000
  20. 创建监视器:
    • 名称:最多 31 个字符
  21. 创建服务器:
    • 服务器名称:最多 127 个字符
    • 域名:最多 255 个字符
    • 解决重试:最长 20939 秒