LINUX.ORG.RU

git и цифровые подписи


2

3

Существует ли система контроля кода, в котором каждая правка подписываются при помощи ЭЦП (конкретного человека)?



Последнее исправление: StrongDollar (всего исправлений: 1)
git config --global user.signingkey <PGPKEY>
git commit -S
git log --show-signature

Или я чего-то не понял?

madgnu ★★★★★
()
Ответ на: комментарий от xorik

Правда это теги, а не каждый коммит. Но если тег подписан, то все предыдущие коммиты уже не изменить

xorik ★★★★★
()

git commit -S подпишет с помощью GPG. Фича недокументированная и появилась относительно недавно.

git log --show-signature чтобы посмотреть подписи

hexdump01010101
()
Ответ на: комментарий от StrongDollar

А как запретить коммиты без подписи?

А ктож вам их может запретить в вашем локальном дереве? Никто, и не надо так делать. Что вы можете сделать, так это для remote repository установить pre push hook, который бы проверял подписаны ли (и кем) коммиты.

Хотя затея странная, так как обычно для push и так требуется ключ (ssh или gpg)...

Какая основная задача, от чего вы пытаетесь «защититься»?

hexdump01010101
()
Ответ на: комментарий от hexdump01010101

от чего вы пытаетесь «защититься»?

Хочу чтобы весь код был гарантировано (доказуемо, неподделываемо) размечен под авторство конкретных авторов.

StrongDollar
() автор топика
Ответ на: комментарий от true_admin

Надо на карточке подключ хранить, а самим ключом пользоваться только для подписывания других ключей (то есть весьма редко).

Sphinx ★★☆☆
()
Ответ на: комментарий от true_admin

а если ключ упрут?

надо как-то подтверждать время, пока ключ еще не был уперт. Все изменения до этого момента годные, после - негодные.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

Все изменения до этого момента годные

А как ты без охраняемого цивилизованным государством CA
или личной встречи (при использовании WoT) достоверно докажешь,
что изначально ключ был твой? :3

Sphinx ★★☆☆
()
Ответ на: комментарий от StrongDollar

а почему я должен это делать без личной встречи?

Ну если такая возможность есть, то замечательно.

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

Надо на карточке подключ хранить, а самим ключом пользоваться только для подписывания других ключей (то есть весьма редко).

что за карточка? флешка или спец девайс?

quest ★★★★
()
Ответ на: комментарий от quest

Ну смарткарта, с неё программно ключ не утянешь.
Плюс пинкод не сбрутить.
В целом немного безопаснее, чем обычная флешка.

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

Ну смарткарта, с неё программно ключ не утянешь.

Плюс пинкод не сбрутить. В целом немного безопаснее, чем обычная флешка.

Те расшифровывает и зашифровывает и проверяет она внутри себя аппаратно, а модель можно назвать для примера? Как в нее ключ заливать или она уже с ключем?

quest ★★★★
()
Ответ на: комментарий от quest

Да их полно, этих карточек.
http://g10code.com/p-card.html, например — Игнуций одобряет.

зашифровывает

Зашифровка использует публичный ключ, его можно где угодно хранить.

расшифровывает

Да, для расшифровки нужна карта.

внутри себя аппаратно

Сами данные не шифруются асимметрично (нет смысла), только
сессионный ключ. Это да, на карте делается.

Как в нее ключ заливать или она уже с ключем?

Ключ либо генерируется на карте, либо заливается на неё извне (что
имеет смысл при использовании подключей). Оба способа доступны через
gpg.

Sphinx ★★☆☆
()

Ну купи ключ и смарт карту у твоего любимого ЦСК, и пихай ЭЦП хеша коммита, например, прямо в commit message

vasily_pupkin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.