0

我坚持让 https 客户端身份验证与在 Debian 的 docker 容器中运行的 Asp.Net Core 应用程序一起工作。Asp.Net 应用程序在 Windows 上运行良好,客户端通过证书进行身份验证。

但是,如果我在 docker 容器中运行 asp.net 应用程序,一些客户端将不会发送任何客户端证书,因为在 SSL 握手中服务器会发送他所有受信任的根 CA 的列表。然后一些基于 .Net 4.0 的客户端过滤他们的客户端证书,因此它只包含由该列表中的 CA 颁发的证书。

现在我的问题是我没有安装 docker Debian 系统的根 CA,所以我的根 CA 在服务器发送的列表中。

我已经尝试过在我的 dockerfile 中添加证书

ADD ${source:-my_ca_root.crt} /usr/local/share/ca-certificates/my_ca_root.crt
RUN update-ca-certificates

但这似乎不起作用。

另一种选择是告诉服务器不要发送证书信任列表,但我找不到解决方案。

Asp.NET Core 应用程序使用“Microsoft/aspnetcore:2.0” docker 映像运行。

4

0 回答 0