在 Citrix ADC 设备上创建和使用 SSL 证书

执行以下步骤创建证书并将其绑定到 SSL 虚拟服务器。

  • 创建私钥。
  • 创建证书签名请求 (CSR)。
  • 将 CSR 提交给 CA。
  • 创建证书密钥对。
  • 将证书密钥对绑定到 SSL 虚拟服务器

下图说明了端到端流程。

端到端流

创建私钥

私钥是数字证书中最重要的部分。根据定义,此密钥不得与任何人共享,并应安全地保存在 Citrix ADC 设备上。使用公钥加密的任何数据只能通过使用私钥解密。

您从 CA 接收的证书仅对用于创建 CSR 的私钥有效。将证书添加到 Citrix ADC 设备时需要密钥。

重要:

请确保限制对私钥的访问权限。任何有权访问您的私钥的人都可以解密您的 SSL 数据。 注意

如果密钥名称中包含路径,则允许的 SSL 密钥名称的长度包括绝对路径名称的长度。

使用 CLI 创建 RSA 私钥

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

create ssl rsakey <keyFile> <bits> [-exponent ( 3 | F4 )] [-keyform (DER | PEM )] [-des | -des3 | -aes256] {-password } [-pkcs8]

示例:

create rsakey RSA_Key 2048 -aes256 -password 123456 -pkcs8

通过使用 GUI 创建 RSA 私钥

  1. 导航到 流量管理 > SSL

  2. SSL 密钥 组中,选择 创建 RSA 密钥

    创建 RSA 密钥

  3. 输入以下参数的值,然后单击 创建

    • 密钥文件名-RSA 密钥文件的名称和路径(可选)。/nsconfig/ssl/ 是默认路径。
    • 密钥大小-RSA 密钥的大小(以位为单位)。可以从 512 位到 4096 位。
    • 公共指数值-RSA 密钥的公共指数。指数是密码算法的一部分,是创建 RSA 密钥所必需的。
    • 密钥格式-RSA 密钥文件存储在设备上的格式。
    • PEM 编码算法-使用 AES 256、DES 或 Triple-DES (DES3) 算法对生成的 RSA 密钥进行加密。
    • PEM 密码-可以选择为密钥输入密码短语。

    输入值

创建证书签名请求

使用私钥创建证书签名请求并提交给 CA。

使用 CLI 创建证书签名请求

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

create ssl certreq <reqFile> -keyFile <input_filename> | -fipsKeyName <string>) [-keyForm (DER | PEM) {-PEMPassPhrase }] -countryName <string> -stateName <string> -organizationName <string> -organizationUnitName <string> -localityName <string> -commonName <string> -emailAddress <string> {-challengePassword } -companyName <string> -digestMethod ( SHA1 | SHA256 )

示例:

create ssl certreq priv_csr_sha256 -keyfile priv_2048_2 -keyform PEM -countryName IN -stateName Karnataka -localityName Bangalore -organizationName Citrix -organizationUnitName NS -digestMethod SHA256

使用 GUI 创建证书签名请求

  1. 导航到 流量管理 > SSL
  2. SSL 证书中,单击 创建证书签名请求 (CSR)

    创建证书签名请求

  3. 输入以下参数的值,然后单击 创建

    • 请求文件名-证书签名请求 (CSR) 的名称和路径(可选)。/nsconfig/ssl/ 是默认路径。

    • 密钥文件名-用于创建证书签名请求的私钥的名称和路径(可选),然后该私钥将成为证书密钥对的一部分。私钥可以是 RSA 或 DSA 密钥。密钥必须存在于设备的本地存储中。/nsconfig/ssl 是默认路径。

    • 公用名

    • 组织名称

    • 状态

    • 国家/地区

    输入 CSR 值

向证书颁发机构提交 CSR

大多数证书颁发机构 (CA) 接受通过电子邮件提交的证书。CA 将向您提交 CSR 的电子邮件地址返回有效证书。

添加证书密钥对

安装从 CA 接收的签名证书。

注意: 默认情况下,证书和密钥存储在 /nsconfig/ssl 目录中。如果证书或密钥存储在任何其他位置,则必须提供 Citrix ADC 设备上文件的绝对路径。

使用 CLI 添加证书密钥对

add ssl certKey <certkeyName> -cert <string>[(-key <string> [-password]) | -fipsKey <string>] [-inform ( DER | PEM )] [<passplain>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]]

show ssl certKey [<certkeyName>]

示例:

add ssl certKey rsa_certkeypair -cert server_cert.pem -key RSA_Key.pem -password ssl -expiryMonitor ENABLED -notificationPeriod 30
 Done

使用 GUI 添加证书密钥对

  1. 导航到 流量管理 > SSL > 证书 > 服务器

    安装证书

  2. 输入以下参数的值,然后单击“安装”。

    • 证书密钥对名称-证书和私钥对的名称。

    • 证书文件名-从 CA 接收的签名证书。

    • 密钥文件名-用于形成证书密钥对的私钥文件的名称和路径(可选)。

    类型值

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

重要提示:在将证书绑定到 SSL 虚拟服务器之前,将任何中间证书链接到此证书。有关链接证书的信息,请参阅创建证书链

用于处理 SSL 事务的证书必须绑定到接收 SSL 数据的虚拟服务器。如果有多个虚拟服务器接收 SSL 数据,则必须将有效的证书密钥对绑定到每个服务器。

使用 CLI 将 SSL 证书密钥对绑定到虚拟服务器

在命令提示符处,键入以下命令以将 SSL 证书密钥对绑定到虚拟服务器并验证配置:

bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA -skipCAName
show ssl vserver <vServerName>

示例:

bind ssl vs vs1 -certkeyName cert2 -CA -skipCAName
 Done
sh ssl vs vs1

 Advanced SSL configuration for VServer vs1:

 DH: DISABLED

 Ephemeral RSA: ENABLED Refresh Count: 0

 Session Reuse: ENABLED Timeout: 120 seconds

 Cipher Redirect: DISABLED

 SSLv2 Redirect: DISABLED

 ClearText Port: 0

 Client Auth: DISABLED

 SSL Redirect: DISABLED

 Non FIPS Ciphers: DISABLED

 SNI: DISABLED

 OCSP Stapling: DISABLED

 HSTS: DISABLED

 IncludeSubDomains: NO

 HSTS Max-Age: 0

 SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: DISABLED  TLSv1.2: DISABLED

 Push Encryption Trigger: Always

 Send Close-Notify: YES

 Strict Sig-Digest Check: DISABLED

ECC Curve: P_256, P_384, P_224, P_521

 1) CertKey Name: cert1 CA Certificate OCSPCheck: Optional CA_Name Sent
 2) CertKey Name: cert2 CA Certificate OCSPCheck: Optional CA_Name Skipped
 1) Cipher Name: DEFAULT

Description: Default cipher list with encryption strength >= 128bit
Done

使用 GUI 将 SSL 证书密钥对绑定到虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器 ,然后打开 SSL 虚拟服务器。单击 书部分内部。

    将证书绑定到虚拟服务器

  2. 单击箭头以选择证书密钥对。

    单击箭头选择证书密钥对

  3. 从列表中选择证书密钥对。

    选择证书密钥对

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

    将证书绑定到虚拟服务器