trusted-signers 命令 (NuGet CLI)

适用于:包使用 • 支持的版本:4.9.1 及以上版本

获取可信签名者,或将可信签名者设置到 NuGet 配置中。 有关详细使用方法,请参阅常见 NuGet 配置。 有关 nuget.config 架构外观的详细信息,请参阅 NuGet 配置文件参考

使用情况

nuget trusted-signers <list|add|remove|sync> [options]

如果未指定任何 list|add|remove|sync,该命令则默认为 list

nuget trusted-signers list

列出配置中所有受信任的签名者。 此选项将包括每个签名者具有的所有证书(带有指纹和指纹算法)。 如果证书具有前导 [U],则意味着该证书条目已将 allowUntrustedRoot 设为 true

此命令的示例输出如下:

$ nuget trusted-signers
Registered trusted signers:


 1.   nuget.org [repository]
      Service Index: https://api.nuget.org/v3/index.json
      Certificate fingerprint(s):
        SHA256 - 0E5F38F57DC1BCC806D8494F4F90FBCEDD988B46760709CBEEC6F4219AA6157D
        SHA256 - 5A2901D6ADA3D18260B9C6DFE2133C95D74B9EEF6AE0E5DC334C8454D1477DF4
        SHA256 - 1F4B311D9ACC115C8DC8018B5A49E00FCE6DA8E2855F9F014CA6F34570BC482D        

 2.   microsoft [author]
      Certificate fingerprint(s):
        SHA256 - 3F9001EA83C560D712C24CF213C3D312CB3BFF51EE89435D3430BD06B5D0EECE
        SHA256 - AA12DA22A49BCE7D5C1AE64CC1F3D892F150DA76140F210ABD2CBFFCA2C18A27
        SHA256 - 566A31882BE208BE4422F7CFD66ED09F5D4524A5994F50CCC8B05EC0528C1353

 3.   myUntrustedAuthorSignature [author]
      Certificate fingerprint(s):
        [U] SHA256 - 518F9CF082C0872025EFB2587B6A6AB198208F63EA58DD54D2B9FF6735CA4434
        

nuget trusted-signers add [选项]

将具有给定名称的可信签名者添加到配置。此选项具有不同手势来添加可信作者或存储库。

基于包的添加选项

nuget trusted-signers add <package> -Name <name> [options]

其中,<package> 为一个已签名 .nupkg 文件。

  • -Author

    指定应信任已签名包的作者签名。

  • -AllowUntrustedRoot

    指定是否应允许受信任的签名者的证书链接到不受信任的根。

  • -Owners

    以分号分隔的可信所有者列表,它可用于进一步限制存储库的信任。 仅当使用 -Repository 选项时有效。

  • -Repository

    指定应信任已签名包的存储库签名或副署。

不支持同时提供 -Author-Repository

基于服务索引的添加选项

nuget trusted-signers add -Name <name> [options]

注意:此选项将仅添加可信存储库。

  • -AllowUntrustedRoot

    指定是否应允许受信任的签名者的证书链接到不受信任的根。

  • -Owners

    以分号分隔的可信所有者列表,它可用于进一步限制存储库的信任。

  • -ServiceIndex

    指定要信任的存储库的 V3 服务索引。 此存储库须支持存储库签名资源。 如果未提供,该命令将查找具有相同 -Name 的包源,并从中获取服务索引。

基于证书信息的添加选项

nuget trusted-signers add -Name <name> [options]

注意:如果已存在具有给定名称的可信签名者,则会将证书项将添加到该签名者。 否则,将使用给定证书信息中的证书项来创建可信作者。

  • -AllowUntrustedRoot

    指定是否应允许受信任的签名者的证书链接到不受信任的根。

  • -CertificateFingerprint

    指定证书的证书指纹,而已签名包必须使用该证书进行签名。 证书指纹是证书的哈希。 用于计算此哈希的哈希算法应在 FingerprintAlgorithm 选项中指定。

  • -FingerprintAlgorithm

    指定用于计算证书指纹的哈希算法。 默认为 SHA256。 支持的值为 SHA256SHA384SHA512

nuget trusted-signers remove -Name <name>

删除与给定名称匹配的任何受信任的签名者。

nuget trusted-signers sync -Name <name>

请求当前可信存储库中使用的证书的最新列表,以更新可信签名者中的现有证书列表。

注意:此手势将删除证书的当前列表,并将其替换为存储库中的最新列表。

选项

  • -ConfigFile

    要应用的 NuGet 配置文件。 如果未指定,则使用 %AppData%\NuGet\NuGet.Config(适用于 Windows)或是 ~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config(适用于 Mac/Linux)。 请参阅在 Mac/Linux 上,用户级配置文件位置因工具而异。

  • -ForceEnglishOutput

    使用固定的、基于英语的区域性强制 nuget.exe 运行。

  • -?|-help

    显示此命令的帮助信息。

  • -Name

    可信签名者的名称。

  • -NonInteractive

    不为用户输入或确认显示提示。

  • -Verbosity [normal|quiet|detailed]

    指定输出中显示的细节量:normal(默认值)、quietdetailed

示例

nuget trusted-signers list

nuget trusted-signers Add -Name existingSource

nuget trusted-signers Add -Name trustedRepo -ServiceIndex https://trustedRepo.test/v3ServiceIndex

nuget trusted-signers Add -Name author1 -CertificateFingerprint CE40881FF5F0AD3E58965DA20A9F571EF1651A56933748E1BF1C99E537C4E039 -FingerprintAlgorithm SHA256

nuget trusted-signers Add -Repository .\..\MyRepositorySignedPackage.nupkg -Name TrustedRepo

nuget trusted-signers Remove -Name TrustedRepo

nuget trusted-signers Sync -Name TrustedRepo