在 Zyxel GS1920-8HPv2 中导入自定义 SSL 证书

在 Zyxel GS1920-8HPv2 中导入自定义 SSL 证书

我在导入服务器 SSL 证书时遇到问题

myZyxel GS1920-8HPv2 上的 https 网络连接。

在交换机的 WebGui 上,有一条信息,证书和密钥

必须位于 pkcs12 容器中。

我做了以下事情来创建服务器crt:

生成私钥:

openssl genrsa \
    -aes256 \
    -out private/zyxel-server.key.pem 4096

生成 csr:

openssl req \
       -config openssl.cnf \
       -key private/zyxel-server.key.pem\
       -new -sha512 \
       -out csr/zyxel-server.csr.pem

从我的 CA 创建签名的证书:

openssl ca -config openssl.cnf \
           -extensions server_cert_zyxel \
           -days 1095 -notext -batch -md sha512 \
           -passin file:mypass.enc \
           -in csr/zyxel-server.csr.pem \
           -out certs/zyxel-server.pem

然后我构建了 pcks12 容器:

openssl pkcs12 \
       -export \
       -out cert.pfx \
       -inkey private/zyxel-server.key.pem \
       -in certs/zyxel-server.pem \
       -certfile certs/ca.cert.pem \

我还使用全链(ca + 中间)测试了“certfile”选项:

openssl pkcs12 \
       -export \
       -out cert.pfx \
       -inkey private/zyxel-server.key.pem \
       -in certs/zyxel-server.pem \
       -certfile certs/ca-fullchain.cert.pem \

但是当我尝试导入 pkcs12 容器时,交换机超时运行,没有任何日志消息。

我创建 pkcs12 容器时执行的程序是否正确?有人知道如何在此 zyxel 交换机上导入服务器证书吗?

答案1

与此同时,我找到了解决这个问题的方法:

如果我使用 openssl 3.0.2(ubuntu 22.04)创建 pkcs12 容器并将该容器导入到我的 iphone 和 zyxel 交换机,它不起作用。

如果我使用 openssl 1.1.1.f(ubuntu 20.04)创建 pkcs12 容器,它就可以工作。

如果我使用 openssl 3.0.2 创建一个 pkcs12 容器并尝试读取(openssl pkcs12 info ...)带有 openssl1.1.1 的容器,我会收到以下错误消息:

Enter Import Password:
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Error outputting keys and certificates
4047620DD67F0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:../crypto/evp/evp_fetch.c:349:Global default library context, Algorithm (RC2-40-CBC : 0), Properties ()

openssl 3.0 似乎使用了另一种算法来构建容器,使用 openssl 1.XX 的应用程序无法打开和处理这些文件。

相关内容