Здесь обсуждается пара разных тем, поэтому я хотел убедиться, что каждая из них покрыта.
Во-первых, модераторы пакетов, представленных в репозиторий Chocolatey Community, проводят ряд проверок. Что касается контрольных сумм, руководство состоит в том, что контрольные суммы для установщика / zip / etc требуются , когда загрузка происходит по HTTP, и что контрольные суммы рекомендуются , когда загрузка происходит по HTTPS. В большинстве случаев для отправки новых пакетов модераторы (включая меня) будут запрашивать добавление контрольных сумм в сценарий установки пакета независимо от того, происходят ли они по HTTP или HTTPS.
Во-вторых, контрольная сумма используется для того, чтобы убедиться, что файл, загружаемый во время выполнения, совпадает с тем, который ожидал сопровождающий пакета при создании пакета. Это функция безопасности, и когда Chocolatey обнаружит, что контрольная сумма отличается между загружаемым файлом и тем, что ожидалось, установка не будет продолжена. Может быть несколько причин, почему контрольная сумма отличается. Некоторые из этих причин описаны в этом блоге:
https://www.gep13.co.uk/blog/chocolatey-error-hashes-do-not-match
Во-первых, некоторые пакеты (например, Google Chrome) не содержат версионные URL-адреса для установщика их приложений. В результате вы можете загрузить установщик Chrome только из одного места, а именно https://dl.google.com/tag/s/dl/chrome/install/googlechromestandaloneenterprise64.msi. В результате, когда Google выпускает новую версию Chrome, что происходит довольно часто, самая последняя пакетная версия Chrome на Chocolatey.org немедленно сломан.
Второй способ, которым контрольные суммы будут нарушены, - это если поставщик «изменит» установщик приложения после его публикации без изменения номера версии.
Последняя причина вызывает сожаление, и мало что можно сделать, кроме генерации новой версии пакета, для которой нужно было бы использовать нотацию исправления пакета для создания новой версии пакета. (это связано с тем, что версия пакета является неизменяемой, то есть она не может быть изменена после утверждения).
В первом случае, когда фактически существует новая версия приложения, а файл в конце URL-адреса фактически является новым, тогда запросом будет создание новой версии пакета с обновленным номером версии. В этом новом пакете вы бы включили новое значение контрольной суммы.
И последнее, что я хотел прояснить, это то, что контрольная сумма генерируется и помещается в пакет в тот момент, когда пакет создается и отправляется на chocolatey.org. Это делается, как вы упомянули, например, с помощью инструмента Checkum.exe. Во время установки Chocolatey затем проверяет эту контрольную сумму по загружаемому файлу. Существуют механизмы, например AU , которые могут помочь автоматизировать этот процесс. Это может быть то, что вы хотите посмотреть.