Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
dotnetup è disponibile in anteprima pubblica. Le funzionalità e il comportamento potrebbero cambiare prima della disponibilità generale.
dotnetupverifica gli SDK di .NET e i runtime scaricati prima di estrarli. Il tipo di verifica dipende dalla provenienza della compilazione.
Versioni rilasciate
Per le build rilasciate, dotnetup usa una catena di attendibilità che inizia con un manifesto di versione firmato:
-
dotnetupscarica i manifesti di rilascio .NET. Questi manifest sono l'indice delle versioni e il filereleases.jsonper ogni canale. -
dotnetupverifica la firma del codice separata (file.p7s) di ogni manifest. Se la firma è mancante o non è valida, il comando ha esito negativo. - Il manifest verificato contiene l'hash SHA-512 di ogni archivio.
-
dotnetupscarica l'archivio e confronta l'hash SHA-512 con l'hash nel manifesto. Se gli hash non corrispondono, il comando fallisce edotnetupnon estrae l'archivio.
Poiché il manifesto firmato vincola l'hash di ogni archivio, dotnetup non verifica una firma separata per ogni archivio.
La verifica della firma controlla anche lo stato di revoca dei certificati online. Consentire l'accesso agli endpoint di revoca dei certificati necessari. Se la rete blocca questi controlli, la verifica fallisce e dotnetup interrompe l'installazione, anche quando la firma è valida.
Scadenza del manifesto
I manifesti di versione contengono un'ora di scadenza.
dotnetup verifica che il manifest non sia scaduto, anche se i relativi hash di firma e archivio sono validi.
Verifica inoltre che il manifest sia stato firmato prima della scadenza.
Un orologio di sistema non corretto o un manifest scaduto può causare l'esito negativo della verifica. Per indicazioni sul ripristino, vedere Un manifest del rilascio è scaduto.
Certificati attendibili
Per le firme del manifesto e i relativi timestamp, dotnetup usa i certificati radice attendibili in bundle con lo strumento . Non aggiunge certificati dall'archivio attendibilità del sistema operativo a tali radici di attendibilità.
L'aggiunta di un certificato all'archivio attendibilità del sistema operativo non fa sì che dotnetup consideri attendibile una firma del manifesto di rilascio dalla catena del certificato.
La firma deve soddisfare i criteri di verifica di dotnetup ed essere collegata a una radice attendibile inclusa.
Build giornaliere e prerelease non pubblicate
Le build giornaliere e le versioni non definitive non incluse nel manifesto della versione firmata provengono da un feed diverso. Queste compilazioni hanno un file hash SHA-512, ma nessuna firma di codice. Per queste compilazioni, dotnetup verifica solo l'hash SHA-512.
dotnetup usa questo percorso quando si installa:
- Canale giornaliero, ad esempio
dailyo10.0-daily. - Versione non definitiva completamente specificata, ad esempio
10.0.100-preview.4.25216.37, che non è presente nel manifest di rilascio.
Prima dell'avvio dell'installazione, dotnetup viene visualizzato questo avviso:
⚠ Daily builds are not code-signed. Only the SHA-512 hash is verified.
Per altre informazioni sulle build giornaliere, vedere Usare le build di anteprima e giornaliere.
Bloccare i download non firmati
Gli amministratori possono bloccare l'installazione delle compilazioni che non sono firmate digitalmente.
Quando questo criterio è attivo, dotnetup installa ancora le build rilasciate, ma le installazioni di build prerelease giornaliere e non elencate hanno esito negativo.
Windows
Creare il valore del Registro di sistema BlockUnsignedDownloads come REG_DWORD con un valore diverso da zero in HKLM\SOFTWARE\Policies\Microsoft\dotnet\Dotnetup. Ad esempio, eseguire questi comandi in una sessione di PowerShell con privilegi elevati:
$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
Per cancellare il criterio, eliminare il valore o impostarlo su 0.
Linux e macOS
Creare il /etc/dotnet/dnup-block-unsigned-downloads file. Il contenuto del file non è importante. Ad esempio:
sudo mkdir -p /etc/dotnet
sudo touch /etc/dotnet/dnup-block-unsigned-downloads
Per cancellare il criterio, eliminare il file.
Installazioni bloccate
Quando il criterio blocca un'installazione, dotnetup viene mostrato un errore simile al seguente messaggio:
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 ...
Per continuare, installare una versione rilasciata o chiedere all'amministratore di cancellare il criterio.
L'eseguibile dotnetup
Gli get-dotnetup script di download verificano il file eseguibile dotnetup scaricato con il relativo file di checksum SHA-512. Per altre informazioni, vedere Introduzione all'uso di dotnetup.