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 (хотя я начал с некоторой старой версии, которая также не работала).
Как я могу исправить эту ошибку?
Ответы
Ответ 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, и после импорта в машину сохранить его успешно.
И, что наиболее важно для меня, нугет тоже начал работать.:)