有没有办法对一个给定的Nuget包进行校验?

问题描述 投票:1回答:1

我一直在寻找一种检查文件是否被篡改的方法。有没有办法为Nuget包做一个校验和?

nuget checksum
1个回答
0
投票

是的,NuGet软件包有一个校验和。根据 这个环节, <packageId>.<packageVersion>.nupkg.sha512 包含 .nupkg 文件本身的哈希值。由于在nuget.org上上传的软件包 前不久开始被回签,还有一个单独的文件,名为 .nupkg.metadata 的文件,其中包含签名本身被应用之前的文件哈希值。

然而,包含上述2个哈希值的文件是在以下情况下生成的。之后 .nupkg文件是从nuget.org获取并由NuGet客户端安装的,这就使得我们无法检查下载的.nupkg是否被篡改。

那么如何保证文件的完整性呢?通过一个名为 .signature.p7s,它本身存储在 .nupkg 文件中。使用这个文件中的信息的方法是通过发出一个 nuget.exe verify -all <nupkg_file>根据上面的最新链接(nuget. 此处).

下面是一个被篡改过的文件的结果(在测试中,我使用的是 CommandLineParser NuGet包,并有其 license.md 文件从.nupkg文件中删除)。)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.