NuGet 경고 NU3043
명령의 옵션 또는 명령의
dotnet nuget sign
CertificateFingerprint
옵션에 대한--certificate-fingerprint
값이 잘못되었습니다NuGet.exe sign
. 값은 SHA-256, SHA-384 또는 SHA-512 인증서 지문(16진수)이어야 합니다.
이 경고는 .NET 10 시간 범위의 오류로 승격됩니다.
문제
.NET 9 및 NuGet.exe 6.12부터 SHA-1 인증서 지문이 서명 명령에 전달될 때 NU3043 경고가 발생합니다. SHA-1은 안전하지 않은 것으로 간주되며 더 이상 사용하지 않아야 합니다.
솔루션
이 경고를 해결하려면 명령의 옵션 또는 CertificateFingerprint
명령의 옵션 NuGet.exe sign
dotnet nuget sign
에 유효한 SHA-256, SHA-384 또는 SHA-512 인증서 지문(16진수)--certificate-fingerprint
을 제공해야 합니다.
고객은 다음 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()
}