Подтвердить что ты не робот

NuGet в Linux: ошибка получения потока ответов

Я пытаюсь запустить NuGet в Linux (Ubuntu 12). У меня есть 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 (хотя я начал с некоторой старой версии, которая также не работала).

Как я могу исправить эту ошибку?

4b9b3361

Ответ 1

Мне удалось получить эту работу, импортировав сертификаты в хранилище машин, а не в хранилище пользователей, которое по умолчанию:

$ 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, и после импорта в машину сохранить его успешно.

И, что наиболее важно для меня, нугет тоже начал работать.:)