Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ungültiger Wert für
--certificate-fingerprintdie Option imdotnet nuget signBefehl oder derCertificateFingerprintOption imNuGet.exe signBefehl. Der Wert muss ein SHA-256-, SHA-384- oder SHA-512-Zertifikatabdruck (hexadezimal) sein.
Diese Warnung wird zu einem Fehler im .NET 10 SDK heraufgestuft und wird in NuGet.exe .NET 10-Version auf einen Fehler heraufgestuft.
Problem
Ab .NET 9 und NuGet.exe 6.12 wird die NU3043-Warnung ausgelöst, wenn ein SHA-1-Zertifikatfingerabdruck an die Signierbefehle übergeben wird. SHA-1 gilt als unsicher und sollte nicht mehr verwendet werden.
Lösung
Um diese Warnung zu beheben, stellen Sie sicher, dass Sie einen gültigen SHA-256-, SHA-384- oder SHA-512-Zertifikatabdruck (hexadezimal) für die --certificate-fingerprint Option im dotnet nuget sign Befehl oder die CertificateFingerprint Option im NuGet.exe sign Befehl angeben.
Sie können die folgenden Skripts verwenden, um SHA-2-Familienhashes für Zertifikate zu berechnen.
PowerShell
Um das Skript zu verwenden, müssen Sie das Zertifikat in einem lokalen Ordner speichern.
$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)
Wenn das Zertifikat im PEM- oder CRT-Format vorliegt:
openssl x509 -in path/to/certificate -outform der | sha256sum
Wenn das Zertifikat bereits im DER-Format vorhanden ist:
sha256sum path/to/certificate
Tipp
Ersetzen Sie für SHA-384 oder SHA-512 bei Bedarf sha256sum durch sha384sum oder sha512sum.