我坚持让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”泊坞窗映像。