Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Note
dotnetup está en versión preliminar pública. Sus características y comportamiento pueden cambiar antes de la disponibilidad general.
dotnetupcomprueba los SDK y los entornos de ejecución de .NET que descarga antes de extraerlos. El tipo de comprobación depende de dónde procede la compilación.
Compilaciones publicadas
Para las compilaciones publicadas, dotnetup usa una cadena de confianza que comienza con un manifiesto de versión firmado:
-
dotnetupdescarga los manifiestos de versión de .NET. Estos manifiestos son el índice de versiones y elreleases.jsonarchivo de cada canal. -
dotnetupcomprueba la firma de código separada (.p7sarchivo) de cada archivo de manifiesto. Si falta la firma o no es válida, el comando falla. - El manifiesto comprobado contiene el hash SHA-512 de cada archivo comprimido.
-
dotnetupdescarga el archivo y compara su hash SHA-512 con el hash en el manifiesto. Si los hash no coinciden, se produce un error en el comando ydotnetupno extrae el archivo.
Dado que el manifiesto firmado ancla el hash de cada paquete, dotnetup no comprueba una firma independiente para cada paquete.
La comprobación de firmas también comprueba el estado de revocación de certificados en línea. Permitir el acceso a los puntos de conexión de revocación de certificados necesarios. Si la red bloquea estas comprobaciones, la verificación falla y dotnetup detiene la instalación, incluso cuando la firma es válida.
Expiración del manifiesto
Los manifiestos de lanzamiento contienen una hora de expiración.
dotnetup comprueba que el manifiesto no ha expirado, incluso si sus hashes de firma y archivo son válidos.
También comprueba que el manifest se firmó antes de su hora de expiración.
Un reloj del sistema incorrecto o un manifiesto expirado pueden provocar un error en la comprobación. Para obtener instrucciones de recuperación, consulte Un manifiesto de versión ha expirado.
Certificados de confianza
Para las firmas de manifiesto y sus marcas de tiempo, dotnetup usa certificados raíz de confianza agrupados con la herramienta . No agrega certificados del almacén de confianza del sistema operativo a esas raíces de confianza.
Agregar un certificado al almacén de confianza del sistema operativo no hace que dotnetup confíe en una firma del manifiesto de lanzamiento de la cadena de ese certificado.
La firma debe satisfacer la directiva de verificación de dotnetup y encadenarse a una raíz de confianza incluida.
Compilaciones preliminares diarias y no listadas
Las compilaciones diarias y las versiones preliminares que no están en el manifiesto de versión firmada proceden de una fuente diferente. Estas compilaciones tienen un archivo hash SHA-512, pero ninguna firma de código. Para estas compilaciones, dotnetup comprueba solo el hash SHA-512.
dotnetup usa esta ruta de acceso al instalar:
- Un canal diario, como
dailyo10.0-daily. - Una versión preliminar totalmente especificada, como
10.0.100-preview.4.25216.37, que no está en el manifiesto de versión.
Antes de que se inicie la instalación, dotnetup muestra esta advertencia:
⚠ Daily builds are not code-signed. Only the SHA-512 hash is verified.
Para obtener más información sobre las compilaciones diarias, consulte Uso de compilaciones de versión preliminar y diarias.
Bloquear descargas sin firmar
Los administradores pueden bloquear la instalación de compilaciones que no tienen firma de código.
Cuando esta directiva está en vigor, dotnetup sigue instalando compilaciones publicadas, pero se produce un error en las instalaciones de compilaciones preliminares diarias y no incluidas en la lista.
Windows
Cree el valor del registro BlockUnsignedDownloads como REG_DWORD con un valor distinto de cero en HKLM\SOFTWARE\Policies\Microsoft\dotnet\Dotnetup. Por ejemplo, ejecute estos comandos en una sesión de PowerShell con privilegios elevados:
$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
Para borrar la directiva, elimine el valor o establézcalo en 0.
Linux y macOS
Cree el /etc/dotnet/dnup-block-unsigned-downloads archivo. El contenido del archivo no importa. Por ejemplo:
sudo mkdir -p /etc/dotnet
sudo touch /etc/dotnet/dnup-block-unsigned-downloads
Para borrar la política, elimine el archivo.
Instalaciones bloqueadas
Cuando la directiva bloquea una instalación, dotnetup muestra un error similar al siguiente mensaje:
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 ...
Para continuar, instale una versión publicada o pida al administrador que borre la directiva.
El ejecutable dotnetup
Los get-dotnetup scripts de descarga comprueban dotnetup el ejecutable descargado con su archivo de suma de comprobación SHA-512. Para obtener más información, consulte Primeros pasos con dotnetup.