Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Недопустимое значение параметра
--certificate-fingerprintв командеdotnet nuget signилиCertificateFingerprintпараметре в командеNuGet.exe sign. Значение должно быть отпечатком сертификата SHA-256, SHA-384 или SHA-512 (шестнадцатеричным).
Это предупреждение повышено до ошибки в пакете SDK для .NET 10 и будет повышено до ошибки в NuGet.exe выпуске .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 .
Для вычисления хэшей семейства SHA-2 для сертификатов можно использовать следующие сценарии.
PowerShell
Чтобы использовать скрипт, необходимо сохранить сертификат в локальную папку.
$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)
Если сертификат находится в формате PEM или CRT:
openssl x509 -in path/to/certificate -outform der | sha256sum
Если сертификат уже находится в формате DER:
sha256sum path/to/certificate
Подсказка
Для SHA-384 или SHA-512 замените sha256sum sha384sum или sha512sum по мере необходимости.