53

Linux (Ubuntu 12) で NuGet を実行しようとしています。私は Mono 3.0.6 (ソースからコンパイル) を持っています。

$ mono --runtime=v4.0.30319 .nuget/NuGet.exe update -self
Checking for updates from https://nuget.org/api/v2/.
Error getting response stream (Write: The authentication or decryption has failed.): SendFailure

エラーは、一部の証明書 (nuget.org の可能性が最も高い) が信頼されていないことが原因であると私は収集しています。詳細については、このブログ投稿をご覧ください

だから私は実行しました:

$ mozroots --import --sync
$ certmgr -ssl https://go.microsoft.com
$ certmgr -ssl https://nugetgallery.blob.core.windows.net
$ certmgr -ssl https://nuget.org

... 無駄に。

NuGet のバージョンは 2.3.0.0 です (ただし、以前のバージョンも動作しませんでした)。

このエラーを修正するにはどうすればよいですか?

4

1 に答える 1

111

デフォルトのユーザーストアではなく、マシンストアに証明書をインポートすることで、これを機能させることができました。

$ sudo mozroots --import --machine --sync
$ sudo certmgr -ssl -m https://go.microsoft.com
$ sudo certmgr -ssl -m https://nugetgallery.blob.core.windows.net
$ sudo certmgr -ssl -m https://nuget.org

これを行う前に、元のユーザー ストア ベースのコマンドを実行した後でさえ、tlstest.exe ツールが失敗し、マシン ストアにインポートした後に成功したことを確認しました。

もちろん、私にとって最も重要なことは、nuget も機能し始めたことです。:)

于 2013-05-16T13:47:08.150 に答える