【问题标题】:Why use SSL for the NuGet repository?为什么对 NuGet 存储库使用 SSL?
【发布时间】:2013-05-01 16:49:47
【问题描述】:

昨天我们的自动构建机器出现了问题。我们正在使用 TFS 构建服务器,当它尝试自动下载 NuGet 包时,我们收到了臭名昭著的“底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系”错误。

关于为什么会发生这种情况,网络上有很多线索。那不是我的问题。通过从

更改您的 NuGet 存储库,可以很容易地修复它
https://nuget.org/api/v2/

http://nuget.org/api/v2/ 

http://packages.nuget.org/v1/FeedService.svc/

我想知道的是为什么存储库首先使用 SSL?我认为它在那里是有原因的,但我不知道是什么。没有需要安全性的登录。我想不出任何需要安全的信息。我只是想确保通过使用不安全的连接(工作得很好)我们不会以某种方式损害我们的构建机器。

谁能解释使用安全连接连接到 NuGet 的好处?

【问题讨论】:

    标签: visual-studio nuget tfsbuild nuget-server


    【解决方案1】:

    我想不出任何需要发送的信息 安全。

    这不一定是因为您与 nuget.org 交换的信息包含任何秘密,因此需要安全。通过使用 SSL,您将确定它实际上是 nuget.org 您正在与之交谈。如果没有 SSL,理论上有人可能会向您提供伪造的软件包,这可能是一个安全问题。

    至于您遇到的“无法为 SSL/TLS 安全通道建立信任关系”的问题,我们在开始使用新的构建服务器时遇到了类似的问题:

    如果看https://nuget.org/提供的SSL证书,证书路径是:GeoTrust Global CA > RapidSSL CA > *.nuget.org

    GeoTrust Global CA 作为我们新构建服务器上的受信任 CA 缺失,因此通过将它们添加到受信任根 CA 的构建服务器列表中(使用带有证书管理单元的 MMC 控制台),问题很容易解决。

    更新:
    在后来的服务中,我遇到了同样的 SSL 问题,仅将 GeoTrust 添加为受信任的 CA 并不能解决问题。 另外,服务器还缺少https://go.microsoft.com/ 的根 CA,即 Baltimore Cyber​​Trust 根(转到https://microsoft.com,您将能够查看和下载证书)。将此添加到受信任的根 CA 的服务器列表中解决了该问题。

    【讨论】:

      猜你喜欢
      • 2017-06-29
      • 1970-01-01
      • 2023-04-01
      • 2020-04-22
      • 2016-04-13
      • 2016-02-23
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      相关资源
      最近更新 更多