.NET 8.0 Docker:OpenSslCryptographicException:错误:0A000410:SSL 例程::sslv3 警报握手失败

问题描述 投票:0回答:1

将项目从 microsoft .net Core 3.1 升级到 .NET 8.0 后,我无法再通过 HttpClient 调用连接到旧的外部服务器。 错误是: OpenSslCryptographicException:错误:0A000410:SSL 例程::sslv3 警报握手失败 问题出在我制作了 docker 镜像并且软件在容器中运行之后。

c# docker ssl .net-8.0
1个回答
0
投票

解决方案来自https://github.com/dotnet/runtime/issues/107172

要应用第二种解决方案来修改 /etc/ssl/openssl.cnf 文件,我找到了这个解决方案: 我从容器中提取了.net8.0版本的/etc/ssl/openssl.cnf文件,我通过插入以下指令修改了该文件:

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
CipherString = DEFAULT@SECLEVEL=2

在项目中,我将修改后的 openssl.cnf 文件放入 dockerfile 中,并使用指令:

COPY Docker/openssl_v8.cnf /etc/ssl/openssl.cnf

我应用了更改后的文件

© www.soinside.com 2019 - 2024. All rights reserved.