Hi!请登陆

Microsoft WinGet 程序包管理器因 SSL 证书过期而失败

2023-2-15 117 2/15

Microsoft WinGet 程序包管理器因 SSL 证书过期而失败

Microsoft 的 WinGet 包管理器当前在 WinGet CDN 的 SSL/TLS 证书过期后安装或升级包时遇到问题。

开源 Windows 包管理器 (WinGet) 于 2020 年 5 月发布,允许用户直接从命令行安装应用程序。

更新,2 月 12 日晚上 8:40:问题在发布数小时后得到解决。 Microsoft 高级产品经理 Demitrius Nelon 表示将在周一进行根本原因分析。

WinGet down after CDN's SSL expires

从星期六的深夜开始,Windows 用户开始报告在尝试通过 WinGet 安装或升级应用程序时出现问题。

WinGet 用户 Tiger Wang 在 GitHub 上分享了他们在尝试运行简单的 WinGet 命令时抛出“InternetOpenUrl() 失败”错误的命令行屏幕截图,例如:

winget upgrade --all --verbose

Microsoft WinGet 程序包管理器因 SSL 证书过期而失败
用户在使用WinGet时报错(GitHub)

此报告得到了另一位也遇到此问题的用户的支持。 该问题似乎与现已过期的 WinGet CDN 的 SSL/TLS 证书有关。

在 Chrome 中导航到 CDN URL https://cdn.winget.microsoft.com 时,OZABC 收到以下错误:

Microsoft WinGet 程序包管理器因 SSL 证书过期而失败
WinGet CDN 的 SSL/TLS 证书过期警告(OZABC)

警告和证书详细信息均确认 WinGet CDN 的证书在周末不再有效:

Microsoft WinGet 程序包管理器因 SSL 证书过期而失败
GMT+05:30 显示的证书到期日 (OZABC)

什么是临时解决方案?

在 Microsoft 更新 SSL 证书之前,WinGet 用户可以高枕无忧,因为他们知道有一种替代解决方法可以解决这种情况。

这涉及将以下源 URL 添加到 WinGet 的源列表,而不是仅仅依赖 cdn.winget.microsoft.com。 这样,WinGet 就可以从这个在编写时具有有效证书的备用服务器获取包。

https://winget.azureedge.net/缓存

“您可以使用以下命令添加源,例如 https://winget.azureedge.net/cache ,”GitHub 用户qilme建议道。

sudo winget source add -n winget https://winget.azureedge.net/cache

winget 工具源命令使用户能够管理 Windows 包管理器的源代码。 使用 source 命令,可以添加、列出、编辑、删除、重置或导出 WinGet 使用的存储库。

注意:执行上述命令时,如果该命令是由管理员帐户在 PowerShell 中运行的,则不需要“sudo”。 如果您遇到错误,请在添加新的 azureedge 链接之前尝试删除默认的 WinGet 源。

有问题的 azureedge URL 是 WinGet 的 CDN 的别名,尽管它具有有效的证书,这使其成为 WinGet 开发人员的可行解决方案:

Microsoft WinGet 程序包管理器因 SSL 证书过期而失败
WinGet CDN 主机名的“nslookup”结果(OZABC)

Microsoft 更新了主要 CDN 的证书后,用户可以选择通过运行另一条命令来重置其源 URL:

“您始终可以运行 winget source reset --force(以管理员身份)以恢复默认设置,”GitHub 用户 Adam Langbert 建议道。

今天之前,WinGet 的最后一次大范围中断发生在 2022 年 11 月,原因是 CDN 在查询时返回“0 字节数据库文件”。

Tag:

相关推荐