Что: 5db75c77e9dd6dea4f5f7c369a667138d59938a2
Когда: 2022-06-28 11:13:08+03:00
Темы: bsd crypto
Как мне доверять этому репозиторию? https://anarc.at/blog/2020-03-17-git-gpg-verification/ https://lwn.net/SubscriberLink/898522/9cf50ee3f96f90c1/ https://stackoverflow.com/questions/23584990/what-data-is-being-signed-when-you-git-commit-gpg-sign-key-id https://github.com/cgwalters/git-evtag В Git до сих пор используется SHA1, что в общем то не очень хорошо чтобы можно было спокойно доверять этому хэшу. Поддержка SHA256 в Git пока плачевна, никакого interoperability между репозиториями не будет. Хотя можно уже создавать репозиторий с SHA256. Подписывать каждый коммит: по моему безумная трата ресурсов. Да и, собственно, подписывает он всё равно те же самые SHA1 хэши. Какая-то git-evtag утилита, про которую впервые услышал, подписывает уже SHA512 хэши всего дерева. Плюс ряд других предложений имеется, но про которые не слышал чтобы использовались. Задался вопросом: а что есть штатного и стандартного чтобы можно было в иерархии пройти по всем файлам и посчитать/проверить их хэши? Вообще конечно и банальным shell-скриптом не сложно, но не очень эффективно. Вспомнил про mtree и выглядит как то что надо: $ fields="type size sha512" $ mtree -p /my/dir -c -k "$fields" | mtree -F mtree -C -S -k "$fields" > checksum Ну и выводит нечто что легко отпарсить и автоматизированно проверить: $ head checksum ./GPL type=file size=17987 sha512=5b3...49c ./INSTALL type=file size=1443 sha512=965...fbe ./.git/HEAD type=file size=23 sha512=76b...6cf $ mtree -p /my/dir < checksum Если всё сошлось, то будет хороший return code без вывода. В противном случае покажет что изменилось и вернёт ошибку. Порты mtree для GNU/Linux существуют, должны прожевать такое. Утилиты типа sha512sum судя по man могут проверить иерархию, но sha512 в BSD не может, поэтому тоже это решение не совместимо между платформами.
Сгенерирован: SGBlog 0.34.0