本指南将向您展示如何在运行 SonicOS 的 SonicWall 防火墙上生成 CSR(证书签名请求)。您需要在网页管理界面的Device > Settings > Certificates中创建请求,填写主题详细信息,选择 2048 位(或更大)的 RSA 密钥和 SHA-256 签名算法,然后导出请求并发送给您的证书颁发机构。
私钥在同一时间创建,并作为待处理请求(Pending Request)保存在防火墙上:导出 CSR 时不会包含私钥。以下步骤适用于 SonicOS 7.x;如果 SonicOS 6.5 及旧版 SMA / SSL-VPN 设备的菜单路径有所不同,我们会特别注明。
在 SonicWall(SonicOS 7.x)上生成 CSR
如果您已经生成了 CSR 并收到了已签发的证书文件,请直接跳转至如何在 SonicWall 上安装 SSL 证书。
步骤 1:打开 Certificates 页面
- 以管理员身份登录 SonicWall 网页管理界面。
- 前往Device > Settings > Certificates。该页面列出了设备上当前所有的证书。
- 点击New Signing Request打开证书对话框。
在 SonicOS 6.5 的 Manage 视图中,路径为Manage > Appliance > Certificates。在旧版 SMA 100 系列及更早的 SSL-VPN 设备上,路径为System > Certificates,按钮标签为Generate CSR。各版本之间的字段名称基本相同。
步骤 2:输入证书别名和主题详细信息
在Certificate Alias字段中,输入一个您日后在防火墙上能够识别的标签,例如您的域名加上年份。该别名仅为内部名称;它不会出现在证书本身中。
使用下拉菜单和文本字段构建Subject Distinguished Name(主题专有名称)。当您填写每个组成部分时,SonicOS 会在Subject Distinguished Name预览字段中组装出完整的 DN。
- Country(国家):您所在组织注册所在国家的两位ISO 国家代码,例如US。
- State(州/省):州或地区的全名,例如 Hawaii。对于组织验证(OV)或扩展验证(EV)证书,请使用您公司合法注册所在的州或省。
- Locality, City, or County(地区、城市或县):城市的全名,例如 Honolulu。
- Company or Organization(公司或组织):您公司的完整法定名称,例如 Your Company LLC。只有在订购域名验证(DV)证书时才可将此项留空。
- Department(部门):可选项。您可以填写例如 IT 或 Web 之类的值,也可以留空。公有 CA 不会验证此字段。
- Common Name(通用名称):您要保护的完全限定域名(FQDN),例如vpn.example.com。若为通配符证书,请在域名前加一个星号,例如*.example.com。通用名称应与您访问防火墙所使用的主机名(管理页面、SSL VPN 门户或两者)一致。
- E-Mail Address(电子邮件地址):您组织内有效的联系邮箱地址。
步骤 3:添加 Subject Alternative Name(可选)
在Subject Alternative Name下,从下拉菜单中选择一个类型(Domain Name、Email Address或IPv4 Address)并输入对应的值。现代浏览器根据 SAN 列表而非通用名称来验证证书,因此第一条 SAN 条目应与通用名称一致。SonicOS 在请求本身中只允许添加一条 SAN 条目;如果您的证书需要覆盖多个主机名,请在向 CA 结账时列出其他名称。大多数公有 CA 都接受在订单表单中随 CSR 一起提供的额外 SAN 条目。
步骤 4:选择签名算法和密钥
- Signature Algorithm(签名算法):将默认值从SHA1更改为SHA256(或 SHA384 / SHA512)。自 2015 年起,公有 CA 已拒绝签发使用 SHA-1 签名的证书,因此使用 SHA-1 签名的 CSR 将无法被签发。
- Subject Key Type(主题密钥类型):保留默认值RSA。只有当您的 CA 及所有服务对象的客户端都支持 ECDSA 证书时,才选择ECDSA。
- Subject Key Size/Curve(主题密钥大小/曲线):对于 RSA,请至少选择2048位。出厂默认值为 1024 位,公有 CA 会拒绝该值;3072 位和 4096 位同样被接受。对于 ECDSA,prime256v1是一个安全的选择。
步骤 5:生成请求
检查各项内容后,点击Generate。SonicOS 会生成 CSR 及其对应的私钥,并在证书表中添加一行新条目。新条目的类型为Pending request(待处理请求),并会一直保持该状态,直到您导入已签发的证书为止。
导出 CSR
- 在证书表中找到新生成的 Pending request 条目。
- 点击其旁边的Export图标。SonicOS 会下载一个仅包含请求内容的.csr文件。私钥仍保留在防火墙上。
在旧版 SMA 100 / SSL-VPN 设备上,行为有所不同:提交表单后会下载一个.zip压缩包,其中包含server.csr和server.key。请将这两个文件一并保存;稍后以 PKCS#12 包形式导入已签发证书时,您需要用到server.key。而在 SonicOS 7.x 防火墙上,您不会得到密钥文件,因为密钥永远不会离开设备。
使用任何纯文本编辑器(例如记事本)打开导出的.csr文件。文件内容以-----BEGIN CERTIFICATE REQUEST-----开头,以-----END CERTIFICATE REQUEST-----结尾。在申请 SSL 证书的过程中,请将整段内容(包括这两行头尾标记)复制到 SSL 供应商订单页面的 CSR 字段中。
提交前检查 CSR
在下单之前,请确认该请求包含正确的域名和组织信息。如果您在任意机器上安装了 OpenSSL,可使用以下命令解码导出的文件:
openssl req -noout -text -in request.csr
请检查通用名称、SAN 条目及组织字段是否正确,签名算法是否为 sha256 或更强,以及密钥大小是否为 2048 位或以上。如有任何问题,应在防火墙上重新生成新的 CSR,而不是直接编辑文件:对文本的任何改动都会使签名失效。如果没有 OpenSSL,可以将导出的请求粘贴到我们的在线CSR 解码工具中,以确认相同的字段。
如果您希望在浏览器中而非在 SonicOS 中准备请求,也可以使用我们的CSR 生成器来生成 CSR。在 SonicOS 7.x 防火墙上,在设备外部生成 CSR 意味着日后您需要以 PKCS#12 包的形式导入已签发的证书(其中同时包含证书及对应的密钥),而不是完成设备上的待处理请求流程。
CA 签发证书之后
一旦 CA 验证了 CSR 并签发了您的 SSL 证书,请返回Device > Settings > Certificates,找到同一个 Pending request 条目,然后点击其旁边的Upload图标以附加已签名的文件。不要创建新条目:SonicOS 只有在您将已签发的证书上传到同一个待处理条目上时,才会将其与相应的私钥配对。可接受的格式为 PEM(.pem、.cer)和 PKCS#7(.p7b)。有关完整流程,包括如何将证书分配给管理页面和 SSL VPN 门户,请参阅我们的指南如何在 SonicWall 上安装 SSL 证书。
常见问题
在 SonicOS 7.x 中,登录网页管理界面,前往Device > Settings > Certificates,然后点击New Signing Request。在 SonicOS 6.5 的 Manage 视图中,路径为Manage > Appliance > Certificates;在旧版 SMA / SSL-VPN 设备上,路径为System > Certificates,按钮标签为Generate CSR。
在 SonicOS 7.x 防火墙上不会。导出选项只会下载.csr文件;对应的私钥会作为 Pending request 条目的一部分保留在设备上,这也是为什么您必须将已签发的证书上传回同一条目的原因。在较旧的 SMA 100 / SSL-VPN 设备上,生成 CSR 会下载一个包含server.csr和server.key的.zip压缩包,因此请将这两个文件一起保存。
SonicOS 的 Signature Algorithm 下拉菜单默认值仍为SHA1,但多年前所有公有 CA 就已停止签发使用 SHA-1 签名的证书。使用 SHA-1 签名的 CSR 在申请过程中会被拒绝。请在点击 Generate 之前选择SHA256(或 SHA384 / SHA512)。


