Предупреждение NuGet NU3043
Недопустимое значение параметра
--certificate-fingerprint
в командеdotnet nuget sign
илиCertificateFingerprint
параметре в командеNuGet.exe sign
. Значение должно быть отпечатком сертификата SHA-256, SHA-384 или SHA-512 (шестнадцатеричным).
Это предупреждение будет повышено до ошибки в интервале времени .NET 10.
Проблема
Начиная с .NET 9 и NuGet.exe 6.12, предупреждение NU3043 возникает при передаче отпечатка сертификата SHA-1 в команды подписи. SHA-1 считается небезопасным и больше не должен использоваться.
Решение
Чтобы устранить это предупреждение, убедитесь, что вы предоставили допустимый отпечаток сертификата SHA-256, SHA-384 или SHA-512 (в шестнадцатеричном) для --certificate-fingerprint
параметра dotnet nuget sign
в команде или CertificateFingerprint
параметре в команде NuGet.exe sign
.
Клиенты могут использовать следующий сценарий PowerShell для вычисления хэшей семейства SHA-2 для сертификатов. Чтобы использовать скрипт, клиентам необходимо сохранить сертификат в локальную папку.
$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()
}