热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

作者主签名的时间戳发现了一个建链问题:UntrustedRoot:证书链中的自签名证书

在我的.NETCore项目上执行dockerbuild时,我在所有NuGet上都收到以下错误:80.19/app/GradingTo

在我的 .NET Core 项目上执行 docker build 时,我在所有 NuGet 上都收到以下错误:

80.19 /app/GradingTool.Tests/GradingTool.Tests.csproj:错误 NU3028:来自源“https://api.nuget.org/v3/index.json”的包“Microsoft.EntityFrameworkCore 5.0.0”:作者主要签名时间戳发现链构建问题:UntrustedRoot:证书链中的自签名证书[/app/GradingTool.sln]

#12 80.20 /app/GradingTool.Tests/GradingTool.Tests.csproj:错误 NU3037:来自“https://api.nuget.org/v3/index.json”的包“Microsoft.EntityFrameworkCore 5.0.0”:作者主签名有效期已过。[/app/GradingTool.sln]

#12 80.20 /app/GradingTool.Tests/GradingTool.Tests.csproj:错误 NU3028:来自源“https://api.nuget.org/v3/index.json”的包“Microsoft.EntityFrameworkCore 5.0.0”:存储库会签的时间戳发现链构建问题:UntrustedRoot:证书链中的自签名证书 [/app/GradingTool.sln]

我以前从未遇到过这个错误,有人可以帮我找出问题所在吗?

Dockerfile:

FROM mcr.microsoft.com/dotnet/sdk:latest AS build-env
WORKDIR /app
RUN apt-get update -yq
&& apt-get install curl gnupg -yq
&& curl -sL https://deb.nodesource.com/setup_10.x | bash
&& apt-get install nodejs -yq
# Copy csproj and restore as distinct layers
COPY . ./
RUN dotnet restore
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/aspnet:latest
RUN apt-get update
&& apt-get install -y --no-install-recommends libgdiplus libc6-dev
&& apt-get clean
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build-env /app/out .
ENV ASPNETCORE_URLS="http://+:4200"
ENV ASPNETCORE_ENVIROnMENT="Production"
ENV GOOGLE_APPLICATION_CREDENTIALS="Credentials/SchoolTools-e9f260bdf56e.json"
ENV VIRTUAL_HOST="eva.schooltools.lu,www.eva.schooltools.lu,schooltools.lu,www.schooltools.lu"
ENV LETSENCRYPT_HOST="eva.schooltools.lu,www.eva.schooltools.lu,schooltools.lu,www.schooltools.lu"
ENV LETSENCRYPT_EMAIL="wilson.silva@edutec.lu"
EXPOSE 4200
ENTRYPOINT ["dotnet", "GradingTool.dll"]

回答


更新:查看此公告:https : //github.com/NuGet/Announcements/issues/49

目前该问题似乎与 Debian 映像有关。

切换到基于 Ubuntu 或 Alpine 的映像:

FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build-env

按照https://github.com/NuGet/Home/issues/10491获取更新。





回答


在Dockerfile文件中,我从

FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim

FROM mcr.microsoft.com/dotnet/sdk:5.0-alpine

这对我有用!



  • It's worth highlighting that this moves from a Debian based to Alpine based docker-image so there may be slight differences in the base packages etc so this may get rid of the immediate error but could introduce harder to track down issues in the long run.




回答


简答

代替 mcr.microsoft.com/dotnet/sdk:latest

mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim-amd64

一旦他们正式修补了证书问题,请返回 :latest。

长答案

这是因为您使用的 Debian docker 映像中存在问题:

mcr.microsoft.com/dotnet/sdk:latest

:latest 标签使用的是 Debian 映像 (5.0.102-1-buster-slim-amd64),Debian 发布了一个会产生证书问题的补丁。

NuGet 团队发布了新的预发布 Debian 映像,以缓解 ca 证书问题。在此处查看未解决的问题和图像替换解决方法:

https://github.com/NuGet/Announcements/issues/49#issuecomment-768766265

稍后他们将发布 SDK 映像的发布版本(一旦 Debian ca-certificates 包在 Debian 10 Buster 中发布)。

使用 :focal 标签 (Ubuntu) 也可以解决 .NET 应用程序的问题,但您必须考虑不再使用 Debian。

最新更新:

微软使用传统标签(如 sdk:5.0)发布了修补的 docker 镜像。从 :5.0.102-ca-patch-buster-slim-amd64 恢复到 :5.0 是安全的





回答


我认为 nuget.org 的证书存在一些问题。我目前正在从 nuget.org 获取所有 NuGet 包的以下内容

错误 NU3037:来自源“https://api.nuget.org/v3/index.json”的包“Microsoft.NETCore.Platforms 3.1.0”:作者主要签名有效期已过期。

错误 NU3028:来自源“https://api.nuget.org/v3/index.json”的包“Microsoft.AspNetCore.Metadata 3.1.2”:存储库会签的时间戳发现链构建问题:UntrustedRoot:自签名证书证书链




  • Yes, In their GitHub Repo under Issues there are many people having the same issue as us so hopefully they will fix it soon enough! Thanks for your response though!




回答


如前所述,可以在此处跟踪问题的当前更新:

https : //github.com/NuGet/Home/issues/10491

缩短您的旅程

已知的解决方法包括:


  • 降级到 .NET Core 3.1

  • 如果使用 docker,请将基本映像从“FROM mcr.microsoft.com/dotnet/sdk:5.0”更改为“FROM mcr.microsoft.com/dotnet/sdk:5.0-focal”或“FROM mcr.microsoft.com/dotnet” /sdk:5.0-高山"

  • 将其放在 nuget.config 的标记内以完全禁用验证(适用于 dotnet restore):


您还可以在此处查看状态:https : //status.nuget.org/





回答


此更改也有效:

FROM mcr.microsoft.com/dotnet/sdk:5.0-focal





回答


最好从 Debian 转到 Ubuntu 并跳过 Alpine,因为 Alpine 缺少 .net 区域和文化!即 sdk:5.0-focal 是您最好的选择,并且确实解决了这个问题。






推荐阅读
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
author-avatar
jizi456
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有