Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Neplatná hodnota pro
--certificate-fingerprintmožnost vdotnet nuget signpříkazu neboCertificateFingerprintmožnost vNuGet.exe signpříkazu. Hodnota musí být otiskem certifikátu SHA-256, SHA-384 nebo SHA-512 (v šestnáctkové soustavě).
Toto upozornění se upřednostní na chybu v sadě .NET 10 SDK a bude povýšeno na chybu v NuGet.exe kolem verze .NET 10.
Problém
Počínaje rozhraním .NET 9 a NuGet.exe 6.12 se při předání otisku certifikátu SHA-1 do příkazů podpisu vyvolá upozornění NU3043. SHA-1 se považuje za nezabezpečené a už by se nemělo používat.
Řešení
Pokud chcete toto upozornění vyřešit, ujistěte se, že jako možnost v dotnet nuget sign příkazu nebo CertificateFingerprint v příkazu zadáte platný otisk certifikátu SHA-256, SHA-384 nebo SHA-512 (v šestnáctkové --certificate-fingerprint soustavěNuGet.exe sign).
K výpočtu hodnot hash řady SHA-2 pro certifikáty můžete použít následující skripty.
PowerShell
Pokud chcete skript použít, musíte certifikát uložit do místní složky.
$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)
Pokud je certifikát ve formátu PEM nebo CRT:
openssl x509 -in path/to/certificate -outform der | sha256sum
Pokud je certifikát již ve formátu DER:
sha256sum path/to/certificate
Návod
Pro SHA-384 nebo SHA-512 nahraďte sha256sum sha384sum nebo sha512sum podle potřeby.