Есть ли способ сделать контрольную сумму для данного пакета Nuget? - PullRequest
1 голос
/ 03 мая 2020

Я искал способ проверить, не был ли файл подделан. Есть ли контрольная сумма для пакетов Nuget?

1 Ответ

0 голосов
/ 07 мая 2020

Да, пакеты NuGet имеют контрольную сумму. Согласно эта ссылка , <packageId>.<packageVersion>.nupkg.sha512 содержит га sh самого файла .nupkg. Поскольку пакеты, загруженные на nuget.org , начали подписываться репо некоторое время go, существует также отдельный файл с именем .nupkg.metadata, который содержит га sh файла до самой подписи. apply.

Файлы, содержащие вышеупомянутые 2 хэша, однако, генерируются после .nupkg-файл извлекается из nuget.org и устанавливается клиентом NuGet, что делает невозможным проверку что скачанный файл .nupkg не был подделан.

Как обеспечивается целостность файлов? Через файл подписи с именем .signature.p7s, который сам хранится в файле .nupkg. Чтобы использовать информацию в этом файле, введите nuget.exe verify -all <nupkg_file> согласно последней ссылке выше (nuget.exe можно загрузить с здесь ).

Вот как получается результат выглядит как файл, который был подделан (для теста я использовал пакет CommandLineParser NuGet и у него был удален файл license.md из файла .nupkg):

enter image description here

...