Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Valor inválido para a opção
--certificate-fingerprintno comandodotnet nuget signou para a opçãoCertificateFingerprintno comandoNuGet.exe sign. O valor deve ser uma impressão digital do certificado SHA-256, SHA-384 ou SHA-512 (em hexadecimal).
Esse aviso é promovido a um erro no SDK do .NET 10 e será promovido a um erro em NuGet.exe em torno da versão do .NET 10.
Problema
A partir do .NET 9 e NuGet.exe 6.12, o aviso NU3043 é gerado quando uma impressão digital de certificado SHA-1 é passada para os comandos de sinal. O SHA-1 é considerado inseguro e não deve mais ser usado.
Solução
Para resolver esse aviso, certifique-se de fornecer uma impressão digital de certificado SHA-256, SHA-384 ou SHA-512 válida (em hexadecimal) para a opção --certificate-fingerprint no comando dotnet nuget sign ou a opção CertificateFingerprint no comando NuGet.exe sign.
Você pode usar os scripts a seguir para calcular hashes da família SHA-2 para certificados.
PowerShell
Para usar o script, você precisa salvar o certificado em uma pasta 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)
Se o certificado estiver no formato PEM ou CRT:
openssl x509 -in path/to/certificate -outform der | sha256sum
Se o certificado já estiver no formato DER:
sha256sum path/to/certificate
Dica
Para SHA-384 ou SHA-512, substitua sha256sum por sha384sum ou sha512sum, conforme necessário.