Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在docker映像中添加CA根证书_Docker_Ssl_Openssl_Certificate_Ca - Fatal编程技术网

如何在docker映像中添加CA根证书

如何在docker映像中添加CA根证书,docker,ssl,openssl,certificate,ca,Docker,Ssl,Openssl,Certificate,Ca,我正在运行ASP.NET核心容器。此容器向api发送请求,该api由自签名证书进行ssl加密。我需要我的容器信任证书,以便请求通过。该容器使用microsoft/dotnet:2.1-aspnetcore-runtime作为基础,因此它使用的是ubuntu 我尝试了以下方法: 我在保存api的服务器上导出了证书,并使用以下命令使用openssl创建了一个.crt: openssl pkcs12 -in exportedcert.pfx -clcerts -nokeys -out my.crt

我正在运行ASP.NET核心容器。此容器向api发送请求,该api由自签名证书进行ssl加密。我需要我的容器信任证书,以便请求通过。该容器使用microsoft/dotnet:2.1-aspnetcore-runtime作为基础,因此它使用的是ubuntu

我尝试了以下方法:

我在保存api的服务器上导出了证书,并使用以下命令使用openssl创建了一个.crt:

openssl pkcs12 -in exportedcert.pfx -clcerts -nokeys -out my.crt
然后,我在Dockerfile中添加了以下内容:

ADD /my.crt /usr/local/share/ca-certificates/my.crt
RUN chmod 644 /usr/local/share/ca-certificates/my.crt && update-ca-certificates
RUN apt-get update && apt-get install -y ca-certificates
COPY /my.crt /usr/local/share/ca-certificates/my.crt
RUN update-ca-certificates
图像构建得非常完美,但我的应用程序仍然抛出: “AuthenticationException:根据验证过程,远程证书无效。”

之后,我尝试将以下内容添加到Dockerfile:

ADD /my.crt /usr/local/share/ca-certificates/my.crt
RUN chmod 644 /usr/local/share/ca-certificates/my.crt && update-ca-certificates
RUN apt-get update && apt-get install -y ca-certificates
COPY /my.crt /usr/local/share/ca-certificates/my.crt
RUN update-ca-certificates
发生了相同的错误


有人知道如何将证书添加到CA中,以便容器信任它吗?我是否以错误的方式为容器创建了证书?非常感谢您的帮助。

这是否回答了您的问题?