GNU/Linux >> LINUX-Kenntnisse >  >> Linux

.NET Core-Build im Docker-Linux-Container schlägt aufgrund der SSL-Authentifizierung bei Nuget fehl

ICH ANTWORTEN

Es war kein Linux-Container-Problem, es ist ein Zertifikatsproblem im Webserver (IIS), da wir selbstsignierte Zertifikate verwenden und das Zertifikat auf diese Weise immer ein invalid certificate ist . Selbstsignierte Zertifikate funktionieren auf der Seite des Windows-Betriebssystems einwandfrei, unabhängig vom ungültigen Fehler. Natürlich sind selbstsignierte Zertifikate nur für eine Testumgebung oder so.

Wenn Sie unter Linux OS versuchen, Pakete von NuGet abzurufen, erhalten Sie den folgenden Fehler, weil:

1) Das Zertifikat ist tatsächlich ungültig und

2) weil es anscheinend keine Option gibt, ein ungültiges Zertifikat von Linux-Seite zu ignorieren.

The SSL connection could not be established, see inner exception.
The remote certificate is invalid according to the validation procedure.

Die Lösung Wenn Sie in einer Unternehmensumgebung arbeiten, müssen Sie beim Systemadministrator ein ordnungsgemäß signiertes Zertifikat anfordern, dafür generieren Sie eine CSR von Ihrem Webserver, in meinem Fall IIS, und geben sie dann an sie weiter, damit sie Ihnen eine . cer-Datei, die auf diesem Webserver installiert werden soll.

Die andere Option, die ich versucht habe aber ich konnte aufgrund der Einschränkungen meiner Unternehmensumgebung keine gefälschte Zertifizierungsstelle (mit OpenSSL) erstellen, dann signieren Sie die CSRs selbst, um einige gültige Zertifikate für Ihre Entwicklungs- oder Testumgebung zu haben.

Entschuldigt, dass ich diese Frage selbst beantwortet habe, aber ich glaube, es lohnt sich, meine Erkenntnisse zu teilen.

Hoffe es hilft.


Linux
  1. Erstellen Sie Ihren eigenen Container unter Linux

  2. Kann Docker in einem Linux-Container ausgeführt werden?

  3. Aktualisieren Sie net.core.somaxcomm (oder eine beliebige sysctl-Eigenschaft) für Docker-Container

  4. Wird Visual Basic von .NET Core unter Linux unterstützt?

  5. Speicherort des SSL-Zertifikats unter UNIX/Linux

.NET Core und Docker

.NET und Docker

Verschieben eines ASP.NET Core von Azure App Service unter Windows zu Linux, indem zuerst in WSL und Docker getestet wird

Veröffentlichen einer ASP.NET Core-Website auf einem günstigen Linux-VM-Host

So installieren Sie (.NET Core) Dotnet Core auf Linux-Distributionen

So kompilieren Sie die .NET Core-App für Linux auf einem Windows-Computer