由于每次连接到交换机时都会收到无效证书警告非常烦人,因此我想安装由我的机器信任的证书颁发机构签名的自定义 HTTPS 证书。但我无法弄清楚 Netgear 荒谬的证书配置 UI。它只提供了上传以下内容的选项:
- SSL 受信任的根证书 PEM 文件
- SSL 服务器证书 PEM 文件
- SSL DH 弱加密参数 PEM 文件
- SSL DH 强加密参数 PEM 文件
没有上传密钥或在交换机上生成 CSR 的选项(就像任何健全的安全系统一样)。Netgear 论坛表明有一些神奇的组合如何做到这一点,但大多数帖子要么不完整,要么不建议如何让 CA 签名的证书工作(只有一个单独的自签名密钥)。官方手册的帮助就更小了,只说“[确保]文件格式正确”。
配置这个的正确方法是什么?
首先,这应该适用于任何具有类似 UI 的 Netgear 固件,但作为参考,这是固件 6.3.0.9 的 GS724Tv4。
我将假设现有知识如何创建根 CA、中间 CA,以及创建和签署证书(如果没有,请参阅例如OpenSSL 证书颁发机构)。我们将需要以下内容:
root.cert.pem
)intermediate.cert.pem
)switch.cert.pem
)switch.key.pem
)dhparams.pem
)创建两个文件:
cat root.cert.pem intermediate.cert.pem > ca-chain.pem
cat switch.cert.pem switch.key.pem > switch-combined.pem
在交换机的 Web UI 中:
dhparams.pem
,应用。ca-chain.pem
“应用”。switch-combined.pem
,应用。现在您应该可以使用带有 CA 签名证书的 HTTPS。
不要尝试使用 2048 位 DH 强加密参数,因为它会阻止 HTTPS 管理模式工作。证书管理选项卡将显示存在证书。
但是,当尝试启用 HTTPS 管理模式时,GUI 界面会给出无法找到某些缺失功能的错误,虽然 GUI 会显示它已启用,但在分配的端口上不会监听任何内容。
禁用 HTTPS 管理模式,删除证书并按照上面的证书加载顺序使用 1024 位 DH 强加密参数使其工作。
固件 1.0.0.12 的 GS308Tv1 再次不同。
“SSL 受信任的根证书 PEM 文件”应仅包含服务器证书。
“SSL 服务器证书 PEM 文件”应包含中间证书(可选),后跟服务器私钥。
如果您在第二个文件中重复服务器证书,那么它将在 TLS 连接中重复,这是无效的(但仍适用于自签名证书)。不应将根证书上传到交换机。
此开关支持 TLSv1.2 并将接受 4096 位 RSA 密钥以及 SHA512 签名算法(它只是运行 Linux/OpenSSL/Lighttpd)。
我建议使用 2048 位 RSA 密钥(与自动生成的自签名证书相同),因为 4096 位 RSA 的连接速度要慢 3 倍,并且可能会降低交换机的性能。
我遇到了 ProSAFE M4300 开关的问题,导致 Andrew Marshall 的步骤不起作用。
“受信任的根”证书应该只是根 CA 的证书,不包括中介。“服务器证书文件”应包含密钥、服务器证书,然后是任何中介(不包括根)。遵循发布的原始解决方案会导致 SSL 协议错误。
其他所有步骤保持不变。
我搞砸了固件版本为 V7.0.9.5 的 GS108Tv2 上的安装。什么样的恶梦!
顶部的说明对我不起作用。但经过大量的尝试和错误后,我终于让它运行了!
如前所述,您需要 CA、中间证书(如果存在)和服务器证书以及 PEM (Base64) 格式的密钥。
将证书复制到一个文件中。证书的顺序似乎很重要(top=server,middle=intermediate,bottom=CA)
现在将 CertChain.pem 上传为“SSL Trusted Root Certificate PEM File”,并将带有服务器证书密钥的文件上传为“SSL Server Certificate PEM File”。还要根据服务器证书的 RSA 密钥大小上传 DH 参数。
从 GS724Tv4 上的固件版本 6.3.1.43 开始,似乎不再需要上传“SSL DH 强加密参数 PEM 文件”,因为交换机只是自动生成它们。您只需要“SSL Trusted Root Certificate PEM File”和“SSL Server Certificate PEM File”。
然而,需要注意的一件事是证书的私钥必须是 RSA - 它不适用于 EC 私钥。