您如何知道 Nuget 包是否已签名

How do you know if a Nuget package has been signed

Nuget.org 现在可以允许 Nuget 包的作者对他们的包进行签名,这样包的用户就可以验证包没有被篡改,并且内置了作者的一些身份验证谁制作了包裹。这是 blog 的公告。

听起来好像任何新的东西都需要对包进行签名,但过去的包不会被签名。这个对吗? 我怎么知道包已经签名了?

我使用的是 Visual Studio 2017 以上版本 15.8.5 和 Nuget 包管理器 4.6.0

不,上传到 nuget.org 不需要作者签名的包。还有一些关于签名包的文档,包括 reference page and signing packages.

NuGet.org 也将对包进行签名。在我写这篇文章的时候,大多数流行的包都已经对存储库进行了签名,所有其他包最终都会进行回购签名。是的,作者签名和回购签名是有区别的,所以有些包会有两个签名。

要检查包是否已签名,您可以follow these instructions。或者在 NuGet Package Explorer 中打开包,尽管您需要知道要查找的内容,因为我不确定是否有任何内容明确表示未签名。或者您可以使用任何知道 zips 的程序打开 nupkg(或者如果它是您已经恢复的包,请转到全局包文件夹 %USERPROFILE%\.nuget\packages 中的文件夹并查找名为 .signature.p7s 的文件。