У меня возникла проблема с импортом SSL-сертификата сервера для
https веб-соединение на myZyxel GS1920-8HPv2.
На 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
создайте подписанный сертификат из моего центра сертификации:
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 \
Я также протестировал опцию «certfile» с полной цепочкой (ca + промежуточный):
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
Тем временем я нашел решение этой проблемы:
Если я создам контейнер pkcs12 с помощью openssl 3.0.2 (Ubuntu 22.04) и импортирую контейнер на свой iPhone и коммутатор Zyxel, он не будет работать.
если я создаю контейнер pkcs12 с openssl 1.1.1.f (ubuntu 20.04), то это работает.
Если я создам контейнер pkcs12 с openssl 3.0.2 и попытаюсь прочитать (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, не могут открывать и обрабатывать эти файлы.