Tenho um problema ao importar um certificado SSL de servidor para
Conexão web https no myZyxel GS1920-8HPv2.
No WebGui do Switch há uma informação de que o certificado e a chave
tem que estar em um contêiner pkcs12.
Fiz o seguinte para criar o crt do servidor:
gerar uma chave privada:
openssl genrsa \
-aes256 \
-out private/zyxel-server.key.pem 4096
gerar um csr:
openssl req \
-config openssl.cnf \
-key private/zyxel-server.key.pem\
-new -sha512 \
-out csr/zyxel-server.csr.pem
crie o certificado assinado da minha 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
Então eu construí o contêiner pcs12:
openssl pkcs12 \
-export \
-out cert.pfx \
-inkey private/zyxel-server.key.pem \
-in certs/zyxel-server.pem \
-certfile certs/ca.cert.pem \
também testei a opção "certfile" com fullchain (ca + intermediário):
openssl pkcs12 \
-export \
-out cert.pfx \
-inkey private/zyxel-server.key.pem \
-in certs/zyxel-server.pem \
-certfile certs/ca-fullchain.cert.pem \
Mas quando tento importar o contêiner pkcs12, o switch está sendo executado em tempo limite, sem nenhuma mensagem de log.
o procedimento que fiz ao criar o container pkcs12 está correto e alguém tem uma ideia de como importar o certificado do servidor neste switch zyxel?
Responder1
Enquanto isso, encontrei uma solução para resolver o problema:
se eu criar o contêiner pkcs12 com o openssl 3.0.2 (ubuntu 22.04) e importar o contêiner para o meu iphone e o switch zyxel, ele não funcionará.
se eu criar o contêiner pkcs12 com openssl 1.1.1.f (ubuntu 20.04), ele funcionará.
Se eu criar um contêiner pkcs12 com openssl 3.0.2 e tentar ler (openssl pkcs12 info ...) o contêiner com openssl1.1.1, recebo a seguinte mensagem de erro:
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 ()
Parece que o openssl 3.0 usa outro algoritmo para construir o contêiner e os aplicativos que usam o openssl 1.XX não podem abrir e processar esses arquivos.