Неверное хранилище ключей PKCS12 для NET Core 3.1 при работе в RedHat или Docker - PullRequest
0 голосов
/ 18 марта 2020

Мы создаем самоподписанные сертификаты для наших услуг с помощью openssl и keytool. Созданный файл pkcs12 отлично работает на Windows и Java сервисах. При запуске наших служб. NET Core 3.1 в RedHat или в контейнере docker сертификат не может быть загружен, поскольку он говорит, что он недействителен. При просмотре информации о файле, он показывает ошибку: digital envelope routines:EVP_PBE_CipherInit:unknown cipher

Вот скрипт, который мы используем для генерации наших сертификатов и хранилищ ключей:

openssl req -x509 -config openssl-ca.cnf -newkey rsa:2048 -sha256 -nodes -days 365 -batch -out cacert.pem -outform PEM
openssl x509 -outform der -in cacert.pem -out cacert.cer
openssl req -config openssl-server.cnf -newkey rsa:2048 -sha256 -nodes -days 365 -batch -out servercert.csr -outform PEM
openssl ca -config openssl-ca.cnf -policy signing_policy -extensions signing_req -out server.pem -infiles servercert.csr
openssl pkcs12 -export -in server.pem -inkey serverkey.pem -out server.p12 -name "server certificate" -chain -CAfile cacert.pem -caname "ca certificate"
keytool -import -trustcacerts -alias "ca certificate" -file cacert.pem -keystore server.p12
rm certs-output/server.jks
keytool -importkeystore -destkeystore server.jks -srckeystore server.p12 -srcstoretype PKCS12 -alias "server certificate"

Я не вижу здесь что-то не так, и, как я уже сказал, он работает при работе на Windows, а для наших Java сервисов - это просто. NET сервисы Core 3.1, работающие в контейнерах RedHat или docker.

Спасибо!

...