bg-tutorials

如何在Sentora上生成CSR

本指南将向您展示如何在 Sentora 上使用 OpenSSL 生成 CSR(证书签名请求)。Sentora 控制面板没有内置的 CSR 工具,因此您需要直接在运行 Apache 和 Linux 的服务器上创建请求。一条命令即可同时生成两个文件:保留在服务器上的私钥,以及您提交给证书颁发机构(CA)的 CSR。

Sentora 本身发展缓慢,但并未被放弃;目前的稳定版本是 v2.0.2(2024 年 5 月,基于 PHP 7.4),由前 ZPanel 开发者维护,下面的 OpenSSL 操作流程不受面板版本影响。

如果您已经生成了 CSR 并从您的 CA 收到了签发的证书,请直接跳转至在 Sentora 上安装 SSL 证书部分。否则,请按照以下步骤操作。

第一步:以 root 身份登录服务器

打开运行 Sentora 的服务器的 SSH 会话,并切换为 root 用户。生成 CSR 本身并不严格要求 root 权限,但如果下一步中缺少 OpenSSL,您将需要 root 权限来安装它:

sudo -i

第二步:确认 OpenSSL 已安装

OpenSSL 随每个当前版本的 Debian、Ubuntu、CentOS、AlmaLinux 和 Rocky Linux 一起提供,因此几乎可以肯定已经安装。检查版本:

openssl version

如果该命令返回了版本号,请跳到第三步。如果尚未安装,请使用您所用发行版的软件包管理器进行添加。

在 Debian 或 Ubuntu 上:

apt update && apt install -y openssl

在 CentOS、AlmaLinux 或 Rocky Linux 上:

dnf install -y openssl

在没有 dnf 的旧系统上,使用 yum install -y openssl 同样有效。

第三步:生成私钥和 CSR

在您有写入权限的目录(例如主目录)中运行以下命令。它会一步创建私钥和 CSR,并包含现代浏览器和 CA 所要求的使用者备用名称(SAN):

openssl req -new -newkey rsa:2048 -nodes 
-keyout example.key 
-out example.csr 
-subj "/C=US/ST=New York/L=New York/O=Example LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

以下是各部分的作用:

  • req -new 创建一个新的证书签名请求。
  • -newkey rsa:2048 生成一个全新的 2048 位 RSA 私钥。2048 位是目前公共证书的最低要求;如果您想要更大的密钥,可以使用 rsa:4096。
  • -nodes 使私钥保持未加密状态(无密码短语),这样 Apache 启动时不会提示输入密码。这是一种通用的写法,适用于所有 OpenSSL 版本。
  • -keyout example.key 写入私钥。请妥善保管此文件,切勿发送给任何人。
  • -out example.csr 写入您要提交给 CA 的 CSR。
  • -subj 在命令行中直接填写主题字段,这样命令运行时无需交互式提示。将 CN(通用名称)设置为您的完全限定域名。
  • -addext “subjectAltName=…” 添加 SAN 条目。CA 会依据 SAN 列表签发证书,因此请包含证书必须涵盖的每一个主机名。

请将每个占位符替换为您的真实信息:

  • example.com:您的实际域名,需同时出现在 CN 和 SAN 列表中。
  • C、ST、L、O:您的两字母国家代码(大写,例如 US 或 GB)、省/州、城市和法定组织名称。对于域名验证(DV)证书,这些字段不会被验证,但命令仍需要有效值。
  • example.key 和 example.csr:您可以使用任意文件名,只要保持一致即可。

现代版本的 OpenSSL 默认使用 SHA-256 对请求进行签名,这正是 CA 所要求的,因此无需额外添加摘要标志。

保护通配符或额外子域名

要添加更多主机名,请在 SAN 列表中用逗号分隔添加额外的 DNS: 条目,例如 DNS:api.example.com。对于通配符证书,请将 CN 设置为 *.example.com,并在 SAN 列表中保留顶级域名。通配符仅覆盖一级子域名(www.example.com、mail.example.com),而不覆盖裸顶级域名(example.com),因此顶级域名必须单独列出才能被覆盖:

-addext "subjectAltName=DNS:*.example.com,DNS:example.com"

更倾向使用 ECDSA 密钥?

在相同安全级别下,ECDSA 密钥比 RSA 更小、更快,并且所有现代浏览器都支持它。要改为生成 P-256(prime256v1)密钥和 CSR,请替换 -newkey 参数:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout example.key 
-out example.csr 
-subj "/C=US/ST=New York/L=New York/O=Example LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

ec_param_enc:named_curve 选项会以名称的方式存储曲线,这正是 PKIX 所要求的;如果不使用该选项,某些 OpenSSL 版本会嵌入完整的曲线参数,导致 CA 拒绝该请求。

第四步:验证 CSR

在提交请求之前,请确认它包含正确的域名和 SAN,并且其签名有效。以下命令会解码 CSR 并在本地检查签名:

openssl req -noout -text -verify -in example.csr

在输出结果中查找 verify OK,检查 Subject 行是否显示了您的通用名称,并确认 X509v3 Subject Alternative Name 部分列出了您期望的每一个主机名。如果缺少某个 SAN,请使用正确的 -addext 值重新生成 CSR。您也可以将请求粘贴到我们的在线CSR 解码工具中,在浏览器中检查这些字段。

第五步:定位并提交 CSR

列出工作目录以确认两个文件都存在:

ls -l example.key example.csr

由于您使用的是 Linux 服务器,请使用终端查看器打开 CSR,而不要使用 Windows 编辑器。使用以下命令将其打印到屏幕上:

cat example.csr

复制整个代码块,包括第一行和最后一行。CSR 由两侧各带五个连字符的 CERTIFICATE REQUEST 标记分隔,而不是已签发证书所用的 CERTIFICATE 标记:

-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----

将该代码块粘贴到您的 SSL 订购表单中。在 CA 验证请求并签发证书后,请按照我们的在 Sentora 上安装 SSL 证书指南进行部署。请将 example.key 文件保留在服务器上:您需要将它与签发的证书一起用于启用 HTTPS,并且绝不能将其发送给 CA 或任何其他人。

如果您不想使用命令行,也可以使用我们的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.