NuGet 警告 NU3028

NuGet 4.6.0+

作者主签名的时间戳发现了链生成问题:由于无法到达吊销服务器,吊销函数无法检查吊销。 有关详细信息,请访问 https://aka.ms/certificateRevocationMode

问题

时间戳签名的证书链生成失败。 时间戳签名证书不受信任、被吊销或证书吊销信息不可用。

仅在 Windows 上,NU3028 可能会在首次观察到根证书时出现,并显示消息“已正确处理证书链,但在信任提供程序不信任的根证书中终止”。如果重试可解决此问题,则有一选项可能会有所帮助

解决方案

使用有效的可信证书。 检查 Internet 连接。

对于 Linux 和 macOS,请参阅 NuGet 已签名包验证。 具体而言,对于 Linux 和 macOS 上不可信根证书的警告/错误,另请参阅 NU3042

吊销检查模式

注意

此选项从 NuGet 4.8.1 开始提供。

如果计算机的 Internet 访问受限(如 CI/CD 场景中的生成计算机),安装/还原已签名 NuGet 包将导致此警告,因为无法访问吊销服务器。 这是正常情况。 但是,在某些情况下,这可能会产生意外的结果,如安装/还原包花费的时间比平常长。 如果出现此情况,可通过将 NUGET_CERT_REVOCATION_MODE 环境变量设为 offline 来解决此问题。 此操作将迫使 NuGet 仅针对缓存证书吊销列表检查证书吊销状态,而 NuGet 不会尝试访问吊销服务器。

警告

不建议在正常情况下将吊销检查模式切换为脱机。 执行此操作将导致 NuGet 跳过联机吊销检查,并只对可能过期的缓存证书吊销列表执行脱机吊销检查。 这意味着将继续安装/还原签名证书可能已经吊销的包,否则吊销检查将失败,并且不会安装。

如果将吊销检查模式设为 offline,此警告将降级为信息级别。

作者主签名的时间戳发现了链生成问题:由于缓存的证书吊销列表中不可用,并且 NUGET_CERT_REVOCATION_MODE 环境变量已设置为脱机,因此吊销函数无法检查吊销。 有关详细信息,请访问 https://aka.ms/certificateRevocationMode

注意

大多数情况下,NU3028 将显示为错误。 如果 NuGet 的 签名验证模式设为“接受”(默认值),则某些情况下 NU3028 会显示为警告。