Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
dotnetup befindet sich in der öffentlichen Vorschau. Die Features und das Verhalten können sich vor der allgemeinen Verfügbarkeit ändern.
dotnetup überprüft die heruntergeladenen .NET SDKs und Laufzeiten, bevor sie extrahiert werden. Die Art der Überprüfung hängt davon ab, von wo der Build stammt.
Veröffentlichte Builds
Bei veröffentlichten Builds verwendet dotnetup eine Vertrauenskette, die mit einem signierten Releasemanifest beginnt:
-
dotnetuplädt die .NET Releasemanifests herunter. Diese Manifeste sind der Veröffentlichungsindex und diereleases.jsonDatei für jeden Kanal. -
dotnetupüberprüft die abgetrennte Code-Signatur (.p7sDatei) der einzelnen Manifeste. Wenn die Signatur fehlt oder ungültig ist, schlägt der Befehl fehl. - Das überprüfte Manifest enthält den SHA-512-Hash jedes Archivs.
-
dotnetuplädt das Archiv herunter und vergleicht seinen SHA-512-Hash mit dem Hash im Manifest. Wenn die Hashes nicht übereinstimmen, schlägt der Befehl fehl und das Archiv wird nicht mitdotnetupextrahiert.
Da das signierte Manifest den Hash jedes Archivs festschreibt, überprüft dotnetup keine separate Signatur für jedes Archiv.
Die Signaturüberprüfung überprüft auch den Zertifikatsperrstatus online. Zugriff auf die erforderlichen Zertifikatsperrendpunkte zulassen. Wenn das Netzwerk diese Überprüfungen blockiert, schlägt die Überprüfung fehl und dotnetup beendet die Installation, auch wenn die Signatur gültig ist.
Ablaufdatum des Manifests
Releasemanifeste enthalten eine Ablaufzeit.
dotnetup überprüft, ob das Manifest nicht abgelaufen ist, auch wenn seine Signatur und Archivhashes gültig sind.
Außerdem wird überprüft, ob das Manifest vor der Ablaufzeit signiert wurde.
Eine falsche Systemuhr oder ein abgelaufenes Manifest kann dazu führen, dass die Überprüfung fehlschlägt. Anleitungen zur Wiederherstellung finden Sie unter "Ein Releasemanifest ist abgelaufen".
Vertrauenswürdige Zertifikate
Für Manifestsignaturen und deren Zeitstempel verwendet dotnetup vertrauenswürdige Stammzertifikate, die mit dem Tool gebündelt sind. Es werden keine Zertifikate aus dem Vertrauensspeicher des Betriebssystems zu diesen Vertrauenswurzeln hinzugefügt.
Das Hinzufügen eines Zertifikats zum Vertrauensspeicher des Betriebssystems veranlasst dotnetup nicht, einer Release-Manifest-Signatur aus der Kette dieses Zertifikats zu vertrauen.
Die Signatur muss die Überprüfungsrichtlinie von dotnetup erfüllen und sich bis zu einer mitgelieferten vertrauenswürdigen Stammzertifizierungsstelle zurückverfolgen lassen.
Tägliche und nicht aufgelistete Vorabversionen
Tägliche Builds und Vorabversionen, die nicht im signierten Releasemanifest enthalten sind, stammen aus einem anderen Feed. Diese Builds verfügen über eine SHA-512-Hashdatei, aber keine Codesignatur. Bei diesen Builds dotnetup wird nur der SHA-512-Hash überprüft.
dotnetup verwendet diesen Pfad bei der Installation:
- Ein täglicher Kanal, wie
dailyoder10.0-daily. - Eine vollständig angegebene Vorabversion, z. B.
10.0.100-preview.4.25216.37, die nicht im Releasemanifest enthalten ist.
Bevor die Installation gestartet wird, zeigt dotnetup diese Warnung an:
⚠ Daily builds are not code-signed. Only the SHA-512 hash is verified.
Weitere Informationen zu täglichen Builds finden Sie unter Verwenden von Vorschau- und täglichen Builds.
Nicht signierte Downloads blockieren
Administratoren können die Installation von Builds blockieren, die nicht mit Code signiert sind.
Wenn diese Richtlinie wirksam ist, dotnetup werden weiterhin veröffentlichte Builds installiert, aber Installationen von täglichen und nicht aufgelisteten Vorabversionen schlagen fehl.
Windows
Erstellen Sie den BlockUnsignedDownloads-Registrierungswert als REG_DWORD mit einem Wert ungleich Null unter HKLM\SOFTWARE\Policies\Microsoft\dotnet\Dotnetup. Führen Sie beispielsweise diese Befehle in einer PowerShell-Sitzung mit erhöhten Rechten aus:
$key = 'HKLM:\SOFTWARE\Policies\Microsoft\dotnet\Dotnetup'
New-Item -Path $key -Force | Out-Null
New-ItemProperty -Path $key -Name 'BlockUnsignedDownloads' -PropertyType DWord -Value 1 -Force | Out-Null
Um die Richtlinie aufzuheben, löschen Sie den Wert, oder legen Sie ihn auf 0.
Linux und macOS
Erstellen Sie die /etc/dotnet/dnup-block-unsigned-downloads Datei. Der Inhalt der Datei spielt keine Rolle. Beispiele:
sudo mkdir -p /etc/dotnet
sudo touch /etc/dotnet/dnup-block-unsigned-downloads
Um die Richtlinie zu entfernen, löschen Sie die Datei.
Gesperrte Installationen
Wenn die Richtlinie eine Installation blockiert, wird ein Fehler angezeigt, dotnetup der der folgenden Meldung ähnelt:
An IT policy on this machine requires code-signed downloads. Installing daily or unsigned prerelease builds of SDK <version> is blocked. Choose a released version, or have an administrator clear the policy ...
Um fortzufahren, installieren Sie eine veröffentlichte Version, oder bitten Sie Ihren Administrator, die Richtlinie zu löschen.
Die ausführbare Datei dotnetup
Die get-dotnetup Downloadskripts überprüfen die heruntergeladene dotnetup ausführbare Datei mit der SHA-512-Prüfsummendatei. Weitere Informationen finden Sie unter "Erste Schritte mit dotnetup".