Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Komuttaki
dotnet nuget signseçenek veya komuttakiCertificateFingerprintseçenekNuGet.exe signiçin--certificate-fingerprintgeçersiz değer. Değer bir SHA-256, SHA-384 veya SHA-512 sertifika parmak izi olmalıdır (onaltılık olarak).
Bu uyarı .NET 10 SDK'sında bir hataya yükseltilir ve .NET 10'un sürümüyle ilgili NuGet.exe bir hataya yükseltilir.
Sorun
.NET 9 ve NuGet.exe 6.12'den başlayarak, imzalama komutlarına sha-1 sertifika parmak izi geçirildiğinde NU3043 uyarısı tetiklenir. SHA-1 güvenli değildir ve artık kullanılmamalıdır.
Çözüm
Bu uyarıyı çözmek için, komuttaki seçenek veya CertificateFingerprint komuttaki seçenek NuGet.exe signdotnet nuget sign için --certificate-fingerprint geçerli bir SHA-256, SHA-384 veya SHA-512 sertifika parmak izi (onaltılık) sağladığından emin olun.
Sertifikalar için SHA-2 ailesi karmalarını hesaplamak için aşağıdaki betikleri kullanabilirsiniz.
PowerShell
Betiği kullanmak için sertifikayı yerel bir klasöre kaydetmeniz gerekir.
$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)
Sertifika PEM veya CRT biçimindeyse:
openssl x509 -in path/to/certificate -outform der | sha256sum
Sertifika zaten DER biçimindeyse:
sha256sum path/to/certificate
Tip
SHA-384 veya SHA-512 için sha256sum değerini sha384sum veya sha512sum ile gerektiği gibi değiştirin.