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.
Valor no válido para la opción
--certificate-fingerprinten el comandodotnet nuget signo la opciónCertificateFingerprinten el comandoNuGet.exe sign. El valor debe ser una huella digital de certificado SHA-256, SHA-384 o SHA-512 (en hexadecimal).
Esta advertencia se promueve a un error en el SDK de .NET 10 y se promoverá a un error en NuGet.exe alrededor de la versión de .NET 10.
Problema
A partir de .NET 9 y NuGet.exe 6.12, se genera la advertencia NU3043 cuando se pasa una huella digital de certificado SHA-1 a los comandos de firma. SHA-1 se considera insegura y ya no se debe usar.
Solución
Para resolver esta advertencia, asegúrese de proporcionar una huella digital de certificado SHA-256, SHA-384 o SHA-512 válida (en hexadecimal) para la opción --certificate-fingerprint en el comando dotnet nuget sign o la opción CertificateFingerprint en el comando NuGet.exe sign.
Puede usar los siguientes scripts para calcular hashes de familia SHA-2 para certificados.
PowerShell
Para usar el script, debe guardar el certificado en una carpeta local.
$certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($certPath)
$stream = [System.IO.MemoryStream]::new($certificate.RawData)
Try
{
(Get-FileHash -Algorithm SHA256 $stream).Hash
}
Finally
{
$stream.Dispose()
$certificate.Dispose()
}
OpenSSL (Linux/macOS)
Si el certificado está en formato PEM o CRT:
openssl x509 -in path/to/certificate -outform der | sha256sum
Si el certificado ya está en formato DER:
sha256sum path/to/certificate
Sugerencia
Para SHA-384 o SHA-512, reemplace sha256sum por sha384sum o sha512sum según sea necesario.