dotnet-nuget-trust(1)
๐ dotnet-nuget-trust(1) โ the .NET Documentation glow-up ๐
okay bestie, welcome to dotnet-nuget-trust, page one of the whole saga. this is a .NET Documentation moment, and it applies to: โ๏ธ .NET 6 SDK and later versions. yes queen, we're in the modern era. โจ
โจ NAME โจ
dotnet-nuget-trust โ literally just gets or sets trusted signers to the NuGet configuration. that's the whole vibe. ๐
๐ธ SYNOPSIS ๐ธ
dotnet nuget trust [command] [Options]
dotnet nuget trust -h|--help
like, you call the thing, you give it a command, you give it options. help is always there for you. ๐ซถ
๐ฆ DESCRIPTION ๐ฆ
so the dotnet nuget trust command is the one managing the trusted signers, mmkay? by default, NuGet is out here accepting all authors and repositories. no thoughts, head empty, trusting everyone. ๐ญ
these commands let you be picky โ you specify only a specific subset of signers whose signatures will be accepted, and reject literally everyone else. main character energy only. ๐
for more information, see Common NuGet configurations. and for the deets on what the nuget.config schema looks like, refer to the NuGet config file reference.
โ ๏ธ heads up bestie: this command requires a certificate root store that is valid for both code signing and timestamping. also, this command may not be supported on some combinations of operating system and .NET SDK. for more information, see NuGet signed package verification. don't come for me, that's just what the docs said. ๐
๐ OPTIONS ๐
-?|-h|--helpโ prints out a description of how to use the command. the classic "help me bestie" button. ๐
๐ Commands ๐
if no command is specified, the command will default to list. it said "not me choosing for you" and honestly? valid. โจ
๐ list
lists all the trusted signers in the configuration. this option will include all the certificates (with fingerprint and fingerprint algorithm) each signer has. and if a certificate has a preceding [U], it means that certificate entry has allowUntrustedRoot set as true. iykyk. ๐
Synopsis:
dotnet nuget trust list [--configfile <PATH>] [-h|--help] [-v, --verbosity <LEVEL>]
Options:
--configfile <FILE>โ the NuGet configuration file (nuget.config) to use. if specified, only the settings from this file will be used. if not specified, the hierarchy of configuration files from the current directory will be used. for more information, see Common NuGet Configurations. it's giving "choose your own adventure" but for configs. ๐๏ธ-?|-h|--helpโ prints out a description of how to use the command.-v|--verbosity <LEVEL>โ sets the verbosity level of the command. allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. the default isminimal. for more information, seexref:Microsoft.Build.Framework.LoggerVerbosity. lowkey the most-used flag in existence fr fr.
๐ง sync
deletes the current list of certificates and replaces them with an up-to-date list from the repository. out with the old, in with the fresh. slay. ๐ฅ
Synopsis:
dotnet nuget trust sync <NAME> [--configfile <PATH>] [-h|--help] [-v, --verbosity <LEVEL>]
Arguments:
NAMEโ the name of the existing trusted signer to sync.
Options:
--configfile <FILE>โ the NuGet configuration file (nuget.config) to use. if specified, only the settings from this file will be used. if not specified, the hierarchy of configuration files from the current directory will be used. for more information, see Common NuGet Configurations.-?|-h|--helpโ prints out a description of how to use the command.-v|--verbosity <LEVEL>โ sets the verbosity level of the command. allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. the default isminimal. for more information, seexref:Microsoft.Build.Framework.LoggerVerbosity.
๐ remove
removes any trusted signers that match the given name. it's the block button but for signers. not me being dramatic, it literally says that. ๐
Synopsis:
dotnet nuget trust remove <NAME> [--configfile <PATH>] [-h|--help] [-v, --verbosity <LEVEL>]
Arguments:
NAMEโ the name of the existing trusted signer to remove.
Options:
--configfile <FILE>โ the NuGet configuration file (nuget.config) to use. if specified, only the settings from this file will be used. if not specified, the hierarchy of configuration files from the current directory will be used. for more information, see Common NuGet Configurations.-?|-h|--helpโ prints out a description of how to use the command.-v|--verbosity <LEVEL>โ sets the verbosity level of the command. allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. the default isminimal. for more information, seexref:Microsoft.Build.Framework.LoggerVerbosity.
๐ author
adds a trusted signer with the given name, based on the author signature of the package. respecting the author's whole artistry. ๐จ
Synopsis:
dotnet nuget trust author <NAME> <PACKAGE> [--allow-untrusted-root] [--configfile <PATH>] [-h|--help] [-v, --verbosity <LEVEL>]
Arguments:
NAMEโ the name of the trusted signer to add. ifNAMEalready exists in the configuration, the signature is appended. no overwriting, just stacking. ๐PACKAGEโ the givenPACKAGEshould be a local path to the signed.nupkgfile.
Options:
--allow-untrusted-rootโ specifies if the certificate for the trusted signer should be allowed to chain to an untrusted root. this is not recommended. like, genuinely not recommended. don't do it. ๐ฉ--configfile <FILE>โ the NuGet configuration file (nuget.config) to use. if specified, only the settings from this file will be used. if not specified, the hierarchy of configuration files from the current directory will be used. for more information, see Common NuGet Configurations.-?|-h|--helpโ prints out a description of how to use the command.-v|--verbosity <LEVEL>โ sets the verbosity level of the command. allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. the default isminimal. for more information, seexref:Microsoft.Build.Framework.LoggerVerbosity.
๐ repository
adds a trusted signer with the given name, based on the repository signature or countersignature of a signed package. repository girlies rise up. ๐ซถ
Synopsis:
dotnet nuget trust repository <NAME> <PACKAGE> [--allow-untrusted-root] [--configfile <PATH>] [-h|--help] [--owners <LIST>] [-v, --verbosity <LEVEL>]
Arguments:
NAMEโ the name of the trusted signer to add. ifNAMEalready exists in the configuration, the signature is appended.PACKAGEโ the givenPACKAGEshould be a local path to the signed.nupkgfile.
Options:
--allow-untrusted-rootโ specifies if the certificate for the trusted signer should be allowed to chain to an untrusted root. this is not recommended. fr, they said it, not me. ๐ญ--configfile <FILE>โ the NuGet configuration file (nuget.config) to use. if specified, only the settings from this file will be used. if not specified, the hierarchy of configuration files from the current directory will be used. for more information, see Common NuGet Configurations.-?|-h|--helpโ prints out a description of how to use the command.--owners <LIST>โ semicolon-separated list of trusted owners to further restrict the trust of a repository. yes,LIST. yes, semicolons. no, not commas. โจ-v|--verbosity <LEVEL>โ sets the verbosity level of the command. allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. the default isminimal. for more information, seexref:Microsoft.Build.Framework.LoggerVerbosity.
๐ certificate
adds a trusted signer with the given name, based on a certificate fingerprint. very specific, very secure, very cunt. ๐
Synopsis:
dotnet nuget trust certificate <NAME> <FINGERPRINT> [--algorithm <ALGORITHM>] [--allow-untrusted-root] [--configfile <PATH>] [-h|--help] [-v, --verbosity <LEVEL>]
Arguments:
NAMEโ the name of the trusted signer to add. if a trusted signer with the given name already exists, the certificate item is added to that signer. otherwise a trusted author is created with a certificate item from the given certificate information. either way, you're getting a signer. ๐FINGERPRINTโ the fingerprint of the certificate.
Options:
--algorithm <ALGORITHM>โ specifies the hash algorithm used to calculate the certificate fingerprint. defaults toSHA256. values supported areSHA256,SHA384andSHA512. pick your fighter. โญ--allow-untrusted-rootโ specifies if the certificate for the trusted signer should be allowed to chain to an untrusted root. this is not recommended. okay but why does this option keep showing up. it keeps showing up because it's real and you should still avoid it. ๐ฉ--configfile <FILE>โ the NuGet configuration file (nuget.config) to use. if specified, only the settings from this file will be used. if not specified, the hierarchy of configuration files from the current directory will be used. for more information, see Common NuGet Configurations.-?|-h|--helpโ prints out a description of how to use the command.-v|--verbosity <LEVEL>โ sets the verbosity level of the command. allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. the default isminimal. for more information, seexref:Microsoft.Build.Framework.LoggerVerbosity.
๐ source
adds a trusted signer based on a given package source. sourcing the tea, respectfully. โ
Synopsis:
dotnet nuget trust source <NAME> [--configfile <PATH>] [-h|--help] [--owners <LIST>] [--source-url] [-v, --verbosity <LEVEL>]
Arguments:
NAMEโ the name of the trusted signer to add. if only<NAME>is provided without--<source-url>, the package source from your NuGet configuration files with the same name is added to the trusted list. if<NAME>already exists in the configuration, the package source is appended to it. it's giving "it knows what you mean". ๐ฎ
Options:
--configfile <FILE>โ the NuGet configuration file (nuget.config) to use. if specified, only the settings from this file will be used. if not specified, the hierarchy of configuration files from the current directory will be used. for more information, see Common NuGet Configurations.-?|-h|--helpโ prints out a description of how to use the command.--owners <LIST>โ semicolon-separated list of trusted owners to further restrict the trust of a repository.--source-urlโ if asource-urlis provided, it must be a v3 package source URL (likehttps://api.nuget.org/v3/index.json). other package source types are not supported. v3 or nothing, bestie. ๐ฆ-v|--verbosity <LEVEL>โ sets the verbosity level of the command. allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. the default isminimal. for more information, seexref:Microsoft.Build.Framework.LoggerVerbosity.
okay that's part 1, and there's more coming so don't go anywhere ๐โจ
โจ EXAMPLES โจ
Okay bestie, this is the part where it all clicks. Real commands, real vibes, copy-paste energy. Let's go ๐
๐ธ Peek at who you already trust
Want the full roster of trusted signers? Just:
dotnet nuget trust list
No flags, no drama. It's giving "let me see the guest list" ๐โจ
๐ Trust a whole source, but in that config file
Say you wanna trust the source NuGet, but only inside a specific nuget.config (not the default one, we're being โจspecificโจ):
dotnet nuget trust source NuGet --configfile ..\nuget.config
The --configfile points at ..\nuget.config, so this trust lives there and nowhere else. Lowkey iconic behavior tbh ๐ซถ
๐ Trust an author straight from a package
Got a signed nupkg file and you wanna vouch for whoever made it? Slide in with the author subcommand:
dotnet nuget trust author PackageAuthor .\foo.nupkg
Here PackageAuthor is the name you're giving that trusted author, and .\foo.nupkg is the signed package file you're pulling them from. Two args, one trust, zero regrets ๐
๐ฆ Trust a repository from a package file
Same energy, but for a repo instead of a human:
dotnet nuget trust repository PackageRepository .\foo.nupkg
PackageRepository = the name you're assigning, .\foo.nupkg = the signed package it comes from. Chef's kiss ๐
๐ฅ Trust a certificate by its SHA256 fingerprint
This one's the fancy one, ngl. You're trusting a package signing certificate using its fingerprint:
dotnet nuget trust certificate MyCert F99EC8CDCE5642B380296A19E22FA8EB3AEF1C70079541A2B3D6E4A93F5E1AFD --algorithm SHA256
Let's break the vibe check down:
MyCertโ the name you're giving this trusted certificate.F99EC8CDCE5642B380296A19E22FA8EB3AEF1C70079541A2B3D6E4A93F5E1AFDโ the actual SHA256 fingerprint, no cap.--algorithm SHA256โ telling it which algorithm that fingerprint belongs to.
Heads up bestie: that fingerprint has to be exactly right. One wrong character and it's over ๐
๐ Trust some owners from a source URL
You can trust specific owners from a repository too. Like, say, Nuget and Microsoft from https://api.nuget.org/v3/index.json:
dotnet nuget trust source NuGetTrust --source-url https://api.nuget.org/v3/index.json --owners "Nuget;Microsoft"
NuGetTrustโ the name for this trusted source.--source-url https://api.nuget.org/v3/index.jsonโ where the repo lives.--owners "Nuget;Microsoft"โ the owners you're trusting. Note the;separating them inside the quotes โ that's the separator, bestie, don't @ me.
Multiple owners, one command. Efficiency queen behavior fr fr ๐ธ
๐ง Remove a trusted signer (goodbye era)
When someone's gotta go, they gotta go. Here's how you remove the trusted signer named NuGet from a specific config file:
dotnet nuget trust remove NuGet --configfile ..\nuget.config
remove + the signer name + --configfile ..\nuget.config and poof, they're out of that file. Unbothered, uninvited, slayed ๐
And that's the whole page, bestie! ๐ This lil' slice of manpage magic came from the dotnet-nuget-trust(1) manual, dated 2025-10-30 โ go forth and trust responsibly, mwah ๐โจ
๐ฆ where this page comes from
- alpine 3.24: dotnet-doc 10.0.303-r2 ยท MIT
- centos-stream 10: dotnet-host 11.0.0~rc.2.26504.105-0.10.el10 ยท 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- centos-stream 9: dotnet-host 11.0.0~rc.2.26504.105-0.11.el9 ยท 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- fedora 43: dotnet-host 10.0.12-1.fc43
- fedora 43: dotnet-host 11.0.0~rc.1.26425.128-0.10.fc43 ยท 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- fedora 44: dotnet-host 10.0.12-1.fc44
- fedora 44: dotnet-host 10.0.4-1.fc44 ยท 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- fedora 44: dotnet-host 11.0.0~rc.1.26425.128-0.12.fc44 ยท 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- nixpkgs unstable: dotnet-vmr 11.0.0-rc.3
- ubuntu noble: dotnet-host-10.0 10.0.12-0ubuntu1~24.04.1
- ubuntu questing: dotnet-host-10.0 10.0.9-0ubuntu1~25.10.1
- ubuntu resolute: dotnet-host-10.0 10.0.12-0ubuntu1~26.04.1
- ubuntu resolute: dotnet-host-10.0 10.0.5-0ubuntu1 ยท MIT
- ubuntu stonking: dotnet-host-10.0 10.0.12-0ubuntu2 ยท MIT
- ubuntu stonking: dotnet-host-11.0 11.0.0~rc1-0ubuntu1 ยท MIT
- ubuntu stonking: dotnet-host-11.0 11.0.0~rc3-0ubuntu1~26.10.1 ยท MIT
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms