dotnet nuget verify
本文适用于: ✔️ .NET 5.0.100-rc.2.x SDK 及更高版本
名称
dotnet nuget verify
-验证已签名的 NuGet 包。
摘要
dotnet nuget verify [<package-path(s)>]
[--all]
[--certificate-fingerprint <FINGERPRINT>]
[-v|--verbosity <LEVEL>]
[--configfile <FILE>]
dotnet nuget verify -h|--help
描述
dotnet nuget verify
命令验证已签名的 NuGet 包。
注意
此命令需要一个对代码签名和时间戳都有效的证书根存储。 此外,操作系统和 .NET SDK 的某些组合可能不支持此命令。 有关详细信息,请参阅 NuGet 签名的包验证。
自变量
package-path(s)
指定要验证的包的文件路径。 可以传入多个位置参数以验证多个包。
选项
--all
指定应对包执行的所有可能的验证。 默认情况下,只验证
signatures
。
注意
此命令当前仅支持 signature
验证。
--certificate-fingerprint <FINGERPRINT>
验证签名者证书是否与指定的其中一个
SHA256
指纹匹配。 可以多次提供此选项以提供多个指纹。-v|--verbosity <LEVEL>
设置命令的详细级别。 允许使用的值为
q[uiet]
、m[inimal]
、n[ormal]
、d[etailed]
和diag[nostic]
。 默认值为minimal
。 有关详细信息,请参阅 LoggerVerbosity。下表显示了针对每种详细级别显示的内容。
q[uiet]
m[inimal]
n[ormal]
d[etailed]
diag[nostic]
Certificate chain Information
❌ ❌ ❌ ✔️ ✔️ Path to package being verified
❌ ❌ ✔️ ✔️ ✔️ Hashing algorithm used for signature
❌ ❌ ✔️ ✔️ ✔️ Author/Repository Certificate -> SHA1 hash
❌ ❌ ✔️ ✔️ ✔️ Author/Repository Certificate -> Issued By
❌ ❌ ✔️ ✔️ ✔️ Timestamp Certificate -> Issued By
❌ ❌ ✔️ ✔️ ✔️ Timestamp Certificate -> SHA-256 hash
❌ ❌ ✔️ ✔️ ✔️ Timestamp Certificate -> Validity period
❌ ❌ ✔️ ✔️ ✔️ Timestamp Certificate -> SHA1 hash
❌ ❌ ✔️ ✔️ ✔️ Timestamp Certificate -> Subject name
❌ ❌ ✔️ ✔️ ✔️ Author/Repository Certificate -> Subject name
❌ ✔️ ✔️ ✔️ ✔️ Author/Repository Certificate -> SHA-256 hash
❌ ✔️ ✔️ ✔️ ✔️ Author/Repository Certificate -> Validity period
❌ ✔️ ✔️ ✔️ ✔️ Author/Repository Certificate -> Service index URL (If applicable)
❌ ✔️ ✔️ ✔️ ✔️ Package name being verified
❌ ✔️ ✔️ ✔️ ✔️ Type of signature (author or repository)
❌ ✔️ ✔️ ✔️ ✔️ ❌ 表示未显示的详细信息。 ✔️ 表示已显示的详细信息。
--configfile <FILE>
要使用的 NuGet 配置文件 (nuget.config)。 如果指定,则只使用此文件中的设置。 如果不指定,将使用当前目录中的配置文件的层次结构。 有关详细信息,请参阅常见的 NuGet 配置。
-?|-h|--help
打印出有关如何使用命令的说明。
示例
验证 foo.nupkg:
dotnet nuget verify foo.nupkg
验证多个 NuGet 包 - foo.nupkg 和指定目录中的所有 .nupkg 文件 :
dotnet nuget verify foo.nupkg c:\mydir\*.nupkg
验证 foo.nupkg 签名是否与指定的证书指纹匹配:
dotnet nuget verify foo.nupkg --certificate-fingerprint CE40881FF5F0AD3E58965DA20A9F571EF1651A56933748E1BF1C99E537C4E039
验证 foo.nupkg 签名是否与指定的其中一个证书指纹匹配:
dotnet nuget verify foo.nupkg --certificate-fingerprint CE40881FF5F0AD3E58965DA20A9F571EF1651A56933748E1BF1C99E537C4E039 --certificate-fingerprint EC10992GG5F0AD3E58965DA20A9F571EF1651A56933748E1BF1C99E537C4E027
仅使用指定的 nuget.config 文件中的设置(
packagesources
和trustedSigners
)来验证 foo.nupkg 的签名:dotnet nuget verify foo.nupkg --configfile ..\Settings\nuget.config