Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

349
Views
La marca de tiempo de la firma principal del autor encontró un problema de creación de cadena: UntrustedRoot: certificado autofirmado en la cadena de certificados

Mientras realizaba una compilación de Docker en mi proyecto .NET Core, recibí el siguiente error en todos mis NuGets:

80.19 /app/GradingTool.Tests/GradingTool.Tests.csproj: error NU3028: paquete 'Microsoft.EntityFrameworkCore 5.0.0' de la fuente 'https://api.nuget.org/v3/index.json': la firma principal del autor la marca de tiempo encontró un problema de creación de cadena: UntrustedRoot: certificado autofirmado en la cadena de certificados [/app/GradingTool.sln]

#12 80.20 /app/GradingTool.Tests/GradingTool.Tests.csproj: error NU3037: Paquete 'Microsoft.EntityFrameworkCore 5.0.0' de la fuente 'https://api.nuget.org/v3/index.json': El autor el período de validez de la firma principal ha expirado. [/app/GradingTool.sln]

#12 80.20 /app/GradingTool.Tests/GradingTool.Tests.csproj: error NU3028: Paquete 'Microsoft.EntityFrameworkCore 5.0.0' de la fuente 'https://api.nuget.org/v3/index.json': El repositorio la marca de tiempo de la contrafirma encontró un problema de creación de cadena: UntrustedRoot: certificado autofirmado en la cadena de certificados [/app/GradingTool.sln]

Nunca tuve este error antes, ¿alguien puede ayudarme a descubrir cuál es el problema?

archivo acoplable:

 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"]
over 4 years ago · Santiago Trujillo
9 answers
Answer question

0

Creo que nuget.org tiene algunos problemas con su certificado. Actualmente obtengo lo siguiente para todos los paquetes NuGet de nuget.org

error NU3037: paquete 'Microsoft.NETCore.Platforms 3.1.0' del origen 'https://api.nuget.org/v3/index.json': el período de validez de la firma principal del autor ha expirado.

error NU3028: paquete 'Microsoft.AspNetCore.Metadata 3.1.2' de la fuente 'https://api.nuget.org/v3/index.json': la marca de tiempo de la contrafirma del repositorio encontró un problema de creación de cadena: UntrustedRoot: certificado autofirmado en cadena de certificados

over 4 years ago · Santiago Trujillo Report

0

Actualización: consulte este anuncio: https://github.com/NuGet/Announcements/issues/49

Por el momento, el problema parece estar relacionado con la imagen de Debian.

Cambie a una imagen basada en Ubuntu o Alpine en su lugar:

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

Siga https://github.com/NuGet/Home/issues/10491 para obtener actualizaciones.

over 4 years ago · Santiago Trujillo Report

0

Como ya se mencionó, las actualizaciones actuales del problema se pueden seguir aquí:
https://github.com/NuGet/Home/issues/10491
Para acortar su viaje
Las soluciones alternativas conocidas incluyen:

  • Degradar a .NET Core 3.1
  • Si usa Docker, cambie su imagen base de "FROM mcr.microsoft.com/dotnet/sdk:5.0" a " FROM mcr.microsoft.com/dotnet/sdk:5.0-focal" o " FROM mcr.microsoft.com/dotnet /sdk:5.0-alpino"
  • Coloque esto dentro de la etiqueta en su nuget.config para deshabilitar la validación por completo (funciona con la restauración de dotnet):

<config> <agregar clave="signatureValidationMode" value="aceptar" />

También puede consultar el estado aquí: https://status.nuget.org/

over 4 years ago · Santiago Trujillo Report

0

En el archivo Dockerfile, cambié de

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

para

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

¡Esto funcionó para mí!

over 4 years ago · Santiago Trujillo Report

0

Respuesta corta

Reemplace mcr.microsoft.com/dotnet/sdk:latest

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

Una vez que parcheen oficialmente el problema del certificado, vuelva a :latest.

Respuesta larga

Esto se debe a un problema en la imagen acoplable de Debian que está utilizando: mcr.microsoft.com/dotnet/sdk:latest

La etiqueta :latest usa una imagen de Debian (5.0.102-1-buster-slim-amd64) y Debian lanzó un parche que generó problemas de certificado.

El equipo de NuGet publicó nuevas imágenes preliminares de Debian que mitigan el problema del certificado CA. Vea las soluciones alternativas para problemas abiertos y reemplazos de imágenes aquí:

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

Más adelante publicarán la versión de lanzamiento de las imágenes del SDK (una vez que el paquete de certificados ca de Debian se publique en Debian 10 Buster).

El uso de la etiqueta :focal (Ubuntu) también podría resolver el problema para su aplicación .NET, aunque debe considerar que ya no está usando Debian.

ÚLTIMA ACTUALIZACIÓN: Microsoft publicó imágenes acopladas parcheadas usando etiquetas convencionales como sdk:5.0. Es seguro volver de :5.0.102-ca-patch-buster-slim-amd64 a :5.0

over 4 years ago · Santiago Trujillo Report

0

Este cambio también funciona:

 FROM mcr.microsoft.com/dotnet/sdk:5.0-focal
over 4 years ago · Santiago Trujillo Report

0

¡Es mejor pasar de Debian a Ubuntu y omitir Alpine ya que faltan regiones y culturas .net en Alpine! es decir, sdk: 5.0-focal es su mejor opción y, de hecho, soluciona este problema.

over 4 years ago · Santiago Trujillo Report

0

En caso de que no quiera cambiar su imagen base, otra forma de arreglar esto es instalar el paquete ca-certificates .

Agregue esto a su Dockerfile:

 RUN echo "deb http://deb.debian.org/debian bullseye main" >> /etc/apt/sources.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ && rm -rf /var/lib/apt/lists/* \ && sed -i '$ d' /etc/apt/sources.list

Por supuesto, esto puede eliminarse nuevamente tan pronto como se solucione el problema subyacente.

over 4 years ago · Santiago Trujillo Report

0

Encontré el siguiente error en dotnet sdk 5.0.201.

error NU3037: paquete 'Microsoft.EntityFrameworkCore.Sqlite 5.0.0' del origen 'https://api.nuget.org/v3/index.json': el período de validez de la contrafirma del repositorio ha expirado.

Después de actualizar el SDK a 5.0.401 y reconstruirlo, funciona bien.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!