The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

Для добавления  подписей можно использовать интерфейс git-notes, позволяющий
прикреплять произвольные данные к существующим коммитам.

Добавление подписи:

   git rev-parse HEAD | gpg --sign | base64 -w0 | \
     git notes --ref refs/signatures append --file=-
   git push origin refs/signatures

Верификация подписи:

   git fetch origin refs/signatures
   git notes merge -s cat_sort_uniq origin/refs/signatures
   git notes --ref refs/signatures show | \
     xargs -L1 -I {} sh -c "echo {} | base64 -d | gpg -d"


Для упрощения вышеописанных действий в рамках проекта git-signatures
подготовлено дополнение к git, позволяющее привязывать к коммиту или тегу сразу
несколько цифровых подписей. Код дополнения написан на bash и требует для своей
работы только Git и GnuPG.


Получение и объединение подписей из внешнего репозитория:

   git signatures pull

Добавление новой подписи для тега:

   git signatures add v1.0.0

Передача добавленных локально подписей во внешний репозиторий:

   git signatures push

Выполнение всех вышеописанных действий одним шагом (pull/merge/sign/push):

   git signatures add --push v1.0.0

Оценка цифровых подписей для тега (вывод всех идентификаторов открытых ключей):

   git signatures verify v1.0.0

Проверка мультиподписи (m-of-n) (проверка всех подписей в одном GPG trustdb,
если 0 - то проверка прошла успешно):

   git signatures verify --min-count 2 v1.0.0

Проверка мультиподписей в разных  GPG trustdb;

   git signatures verify --trustdb dev-team.db --min-count 2 v1.0.0
   git signatures verify --trustdb release-team.db --min-count 1 v1.0.0
 
25.02.2019
Ключи: git, commit, sign, gpg / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Системы контроля версий и управления исходными текстами

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру