Linux上DotNet Core中的受信任的根证书(RHEL 7.1)

MAD*_*Map 6 ssl redhat ssl-certificate root-certificate .net-core

我目前正在将一个.net-core web-api部署到rhel 7.1上的docker容器中.一切都按预期工作,但从我的应用程序,我需要通过https调用其他服务,这些主机使用由自我维护的根证书签名的证书.

在这个星座中,我在调用此服务时遇到ssl-errors(ssl无效),因此我需要在docker-container中安装此root-certificate或以某种方式在.net-core应用程序中使用root-certificate.

如何才能做到这一点?有没有最好的做法来处理这种情况?.net-core会访问rhel系统上正确的密钥库吗?

Mar*_*ich 9

由于.NET Core在Linux上使用OpenSSL,因此您需要在容器中设置Linux环境,以便OpenSSL获取证书.

这是通过(+ Dockerfile示例)完成的:

  1. 将证书.crt文件复制到update-ca-certificates将扫描可信证书的位置- 例如/usr/local/share/ca-certificates/oron RHEL /etc/pki/ca-trust/source/anchors/:

    COPY myca.crt /usr/local/share/ca-certificates/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 调用update-ca-certificates:

    RUN update-ca-certificates
    
    Run Code Online (Sandbox Code Playgroud)

  • 谢谢:这让我朝着正确的方向前进!RHEL 中的文件夹和命令略有不同:用于复制证书的 /etc/pki/ca-trust/source/anchors/ 和用于更新信任库的 update-ca-trust。 (2认同)