bg-tutorials

如何在 NetScaler 中生成 CSR

本指南向您展示如何在 NetScaler(以前作为 Citrix ADC 销售的负载均衡器和应用交付控制器)上生成 CSR(证书签名请求)。您将创建一个 RSA 私钥,构建带有匹配的可分辨名称和主题备用名称条目的 CSR,复制编码后的请求,并将其发送给您的证书颁发机构。相同的流程适用于当前 14.1 LTS 版本以及 13.1 版本的 NetScaler GUI,13.1 版本的维护终止日期为 2026 年 9 月 15 日,生命周期终止日期为 2027 年 9 月 15 日;文末的可选 CLI 部分适用于任何现代版本。

关于名称的说明:该产品最初名为 NetScaler,在 2018 年更名为 Citrix ADC,随后在 2022 年 10 月,Cloud Software Group 将 NetScaler 分拆为独立品牌时,又重新更名为 NetScaler。您可能仍会在较旧的固件、菜单和文档中看到”Citrix ADC”字样;下面的 CSR 步骤对两个名称都是一样的。

以具有向 /nsconfig/ssl/ 写入权限的用户身份登录到 NetScaler 设备(MPX、SDX、VPX 或 CPX),然后按顺序执行以下步骤。

步骤 1:创建 RSA 私钥

NetScaler 将私钥保存为 /nsconfig/ssl/ 中的一个文件,并在构建 CSR 时,以及后续安装已签发证书时,通过名称引用它。首先创建密钥:

  • 在 GUI 中,转到Configuration > Traffic Management > SSL > SSL Files。
  • 打开SSL Keys选项卡并单击Create RSA Key。

填写Create RSA Key窗口:

  • Key Filename:密钥文件的名称,例如 yourdomain-2026.key。默认情况下,NetScaler 会将其写入 /nsconfig/ssl/。
  • Key Size (bits):2048 是当前所有公共 CA 都接受的最低要求。仅当您的安全策略要求更大的密钥时,才选择 3072 或 4096;代价是 TLS 握手会略微加重。
  • Public Exponent Value:F4 (0x10001),这是几乎所有网络上的 RSA 证书都使用的标准值。
  • Key Format:PEM。
  • PEM Encoding Algorithm:如需未加密的密钥,请留空。下拉菜单提供 AES 256、DES 和 DES3 选项;由于 DES 和 DES3 是过时的算法,AES 256 是这三者中唯一现代的选择。无论您选择哪一个,NetScaler 都会要求您在每次重启以及每次引用该密钥时输入(并重新输入)密码短语,这在您自行管理的设备上很少值得这么做。除非您的策略另有规定,否则请将其留空。
  • PEM Passphrase 和 Confirm PEM Passphrase:仅当您选择了上述其中一种加密算法时才需要填写。

单击OK,然后单击Close。密钥现已存在于设备的 /nsconfig/ssl/ 中,可以绑定到 CSR。

如果您更倾向于使用 ECDSA 密钥(更小、更快,并且受所有当前浏览器支持),请使用 CLI:create ssl ecdsakey yourdomain-2026.key -curve P_256。ECDSA P-256 是常见的选择;如果需要更大的曲线,则可选择 P-384。

步骤 2:打开 Create CSR 对话框

仍在Configuration > Traffic Management > SSL > SSL Files下,打开CSRs选项卡,然后单击Create Certificate Signing Request (CSR)。将打开Create Certificate Signing Request (CSR)窗口。

步骤 3:填写文件和密钥字段

  • Request File Name:CSR 文件的名称,例如 yourdomain-2026.csr。默认情况下,NetScaler 会将其写入 /nsconfig/ssl/。
  • Key Filename:单击Browse,将来源下拉菜单切换到Appliance,然后选择您在步骤 1 中创建的密钥(例如 yourdomain-2026.key)。单击Select,然后单击Open。
  • Key Format:PEM。
  • PEM Passphrase (For Encrypted Key):仅当 RSA 密钥设置了密码短语时才需要填写。否则留空。
  • Digest Method:选择SHA256。SHA-1 已被弃用,所有公共 CA 都会拒绝它;请勿选择它。

步骤 4:填写可分辨名称字段

每个字段中仅使用标准 ASCII 字符;非拉丁字母或带重音符号的字符会导致请求出错:

  • Country:选择您所在组织注册地的两字母 ISO 国家代码(例如 US、GB、DE)。
  • State or Province:完整的州或省名称(例如 Washington,而不是 WA)。
  • Organization Name:您公司的完整法定名称,须与注册信息完全一致。OV 和 EV 证书必须填写此项。对于域名验证(DV)证书,此字段会被忽略,因此填写一个简短的占位符即可。
  • Organization Unit:部门标签,例如 IT。CA/浏览器论坛已逐步淘汰公共证书中的此属性,因此如果表单允许,请将其留空。
  • City or Locality:您所在组织注册地的完整城市名称(例如 Seattle,而不是 SEA)。
  • Common Name:您要保护的完全限定域名(FQDN),例如 www.example.com。对于通配符证书,请在顶级域名前加上星号,例如 *.example.com。
  • Email Address:可选。公共 CA 不再将此项用于 SSL/TLS 签发;您可以留空。
  • Challenge Password 和 Company Name:可选的旧属性。公共 CA 会忽略这两项;请留空。

步骤 5:添加主题备用名称(SAN)

现代浏览器和客户端(Chromium、Firefox、Safari、.NET、Java、Go)仅根据主题备用名称扩展来验证主机名;自 2017 年起,Common Name 就不再用于信任判定。对于单一名称的订单,公共 CA 会自动将 CN 复制到一个 SAN 条目中,因此仅有 CN 的请求仍然可以签发,但如果您需要在一张证书上包含多个主机名(例如 example.com 和 www.example.com,或多域名证书),则必须明确添加这些名称。

  • 打开对话框中的Subject Alternative Name (SAN)部分。
  • 为每个主机名添加一个条目,前缀为 DNS:,例如 DNS:www.example.com 和 DNS:example.com。
  • 对于基于 IP 的访问(对公共证书来说很少见),请改用 IP: 前缀,例如 IP:192.0.2.10。公共 CA 只会针对它们能够验证的 IP 进行签发。NetScaler 在这里有一点需要注意:该设备仅处理基于 DNS 的 SAN 值,因此 IP 条目仍会包含在 CSR 及签发的证书中,但设备在将证书与传入请求进行匹配时不会使用它。

如果您的版本中缺少Subject Alternative Name (SAN)字段,该命令的 CLI 版本在每个版本中都可以使用(请参阅本指南末尾的CLI 替代方案)。

步骤 6:生成 CSR

仔细核对每个字段,然后单击Create(较旧版本为OK)。单击Close。NetScaler 会将 CSR 写入设备上的 /nsconfig/ssl/,并将匹配的私钥保存在其旁边。

步骤 7:复制 CSR 并提交给您的 CA

  • 转到Configuration > Traffic Management > SSL。
  • 在主页面上,在Tools下,单击Manage Certificates / Keys / CSRs。
  • 在列表中找到您的 yourdomain-2026.csr 文件,然后单击View。

CSR 是一段 base64 文本,看起来像这样:

-----BEGIN CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9u
... (many lines of base64) ...
-----END CERTIFICATE REQUEST-----

选中整个区块,包括 -----BEGIN CERTIFICATE REQUEST----- 和 -----END CERTIFICATE REQUEST----- 这两行,将其复制并粘贴到订单表单的 CSR 字段中。等待 CA 验证请求并签发证书。当 SSL 文件送达您的收件箱后,请按照如何在 NetScaler 上安装 SSL 证书完成部署。

提交前检查 CSR(可选)

在将请求发送给您的 CA 之前,值得确认一下 Common Name、SAN 条目和密钥大小。将请求的内容粘贴到 SSL Dragon 的CSR 解码器中,即可读取所有字段。确认 Common Name 与客户端将使用的主机名一致,并确认每个所需的名称都出现在主题备用名称列表中。在这个阶段发现错误修复起来成本很低;一旦签发后再发现错误,就意味着需要重新签发。

通过 CLI 生成 CSR(可选)

如果您更喜欢使用命令行(或者您的版本在 GUI 中隐藏了 SAN 字段),请通过 SSH 连接到设备,并运行相应的命令。请将名称和字段值替换为您自己的:

create ssl rsakey /nsconfig/ssl/yourdomain-2026.key 2048 -exponent F4

create ssl certReq /nsconfig/ssl/yourdomain-2026.csr 
  -keyFile /nsconfig/ssl/yourdomain-2026.key 
  -countryName US 
  -stateName Washington 
  -organizationName "Example Inc" 
  -localityName Seattle 
  -commonName www.example.com 
  -subjectAltName "DNS:www.example.com DNS:example.com" 
  -digestMethod SHA256

关于这些值的说明:

  • 续行符()是为了便于阅读;如果您愿意,也可以将 create ssl certReq 命令写成单独一行来运行。
  • -subjectAltName 接受一个用引号括起来、以空格分隔各条目的字符串;格式为 DNS:hostname(或 IP:address)。
  • 如需使用 ECDSA 密钥,请将 create ssl rsakey 那一行替换为 create ssl ecdsakey /nsconfig/ssl/yourdomain-2026.key -curve P_256,其余命令保持不变。
  • 要在提示符下读取 CSR 内容,请在设备的 shell 中运行 cat /nsconfig/ssl/yourdomain-2026.csr。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.