2017-02-17 17 views
3

私はUbuntu 14.04のDocker 1.13.1コンテナでASP.NET Core 1.1 Web APIを実行しています。ドッカーイメージ内にCAルート証明書を追加するにはどうすればよいですか?

コードは、HTTPSサーバから一部のデータを取得しようとすると、私はこの証明書の認証エラーを取得:

An error occurred while sending the request. ---> System.Net.Http.CurlException: Peer certificate cannot be authenticated with given CA certificates 
    at System.Net.Http.CurlHandler.ThrowIfCURLEError(CURLcode error) 
    at System.Net.Http.CurlHandler.MultiAgent.FinishRequest(StrongToWeakReference`1 easyWrapper, CURLcode messageResult) 

をHTTPSサーバは、当社の企業CAによって署名された証明書を持つ内部にあるので、私は可能性があることに注意しています内部CAを登録する必要があります。

これまでに私が見つけたことはすべて、ドッカーはドッキング自体を稼働させ、reposなどに接続しています。私のドッカーはうまくいきました。ウェブAPIは問題なくコンテナの外にあるUbuntuサーバーで動作します。

1)ドッカーイメージ内にCAルート証明書を追加する必要がありますか?

2)そうであれば、どうすればよいですか?

3)そうでない場合は、どうすれば修正できますか?

+0

理由をしてください?質問に間違いがないと私は言ったように、答えは明らかに利用可能ではありません。あなたがそうだと思うなら、それを指摘してください。 – Peter

答えて

7

タスク自体は、通常のシステムにそのCAを追加する必要があるため、ドッカーに固有のものではありません。これを行う方法については、askubuntu communityに回答があります。

のでDockerfileに、あなたは次の操作を行います:ダウン投票

ADD your_ca_root.crt /usr/local/share/ca-certificates/foo.crt 
RUN update-ca-certificates 
+0

ありがとう、私はそれを試みます。サーバーに正常にCAを追加しましたが、達成するために実行したコマンドは、コンテナにログオンしても機能しません。 – Peter

+0

ありがとう、これは素晴らしいことでしたが、私は私たちのレポから証明書を引き出すために 'カール 'を使用しました。 – Peter

関連する問題