gpg sign
This commit is contained in:
parent
f7c70c43a0
commit
708516e9e1
82
src/GIT-GPG-sign.md
Normal file
82
src/GIT-GPG-sign.md
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# GPG подпись
|
||||||
|
|
||||||
|
<!-- https://www.youtube.com/watch?v=2CwsoGw2coc -->
|
||||||
|
<!-- https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key -->
|
||||||
|
|
||||||
|
GPG ключи по сравнению с SSH ключами имеют более развитый функционал.
|
||||||
|
- настройка специализации ключа (шифрование, подпись, авторизация, создание подключей);
|
||||||
|
- отзыв ранее выпущенных ключей;
|
||||||
|
- настройка срока действия ключей с возможностью продления в будущем;
|
||||||
|
- привязка ключей к имени пользователя и почте;
|
||||||
|
- возможность загрузки публичных ключей на сервера ключей;
|
||||||
|
|
||||||
|
Под Windows утилита gpg идет вместе с git. Так что можно работать сразу после установки git.
|
||||||
|
|
||||||
|
Все свои файлы gpg хранит в `~/.gnupg/`
|
||||||
|
|
||||||
|
Полезные команды:
|
||||||
|
```
|
||||||
|
gpg -k --keyid-format=long # Посмотреть публичные ключи
|
||||||
|
gpg -K --keyid-format=long # Посмотреть приватные ключи
|
||||||
|
gpg --full-generate-key # Генерация пары ключей
|
||||||
|
gpg -a --export <key-id> # Экспорт публичного ключа
|
||||||
|
gpg -a --export-secret-keys <key-id> # Экспорт секретного ключа
|
||||||
|
gpg --import <file> # Импорт ключа
|
||||||
|
gpg --delete-key <key-id> # Удаление публичного ключа
|
||||||
|
gpg --delete-secrete-key <key-id> # Удаление секретного ключа
|
||||||
|
git config --global user.signingkey <key-id>
|
||||||
|
```
|
||||||
|
|
||||||
|
Обозначения типов ключей:
|
||||||
|
```
|
||||||
|
sec - secret primary key (секретный основной ключ)
|
||||||
|
pub - public primary key (публичный основной ключ)
|
||||||
|
ssb - secret sub-key (секретный сабключ)
|
||||||
|
sub - public sub-key (публичный сабключ)
|
||||||
|
```
|
||||||
|
|
||||||
|
Создаем основной (primary) ключ:
|
||||||
|
```
|
||||||
|
gpg --full-generate-key
|
||||||
|
```
|
||||||
|
Выбираем RSA (sign only). Этот ключ нужен для генерации других сабключей.
|
||||||
|
|
||||||
|
Для генерации сабключ заходим в консоль gpg:
|
||||||
|
```
|
||||||
|
gpg --expert --edit-key ARNik
|
||||||
|
```
|
||||||
|
`? - список все комманд`
|
||||||
|
addkey - добавить новый сабключ
|
||||||
|
save - не забываем сохранить результаты перед выходом
|
||||||
|
|
||||||
|
|
||||||
|
gpg -K --keyid-format=long
|
||||||
|
|
||||||
|
Показать ключ для копирования в репозиторий
|
||||||
|
gpg -a --export AEBB0598F42201E3
|
||||||
|
|
||||||
|
|
||||||
|
Подписать последний коммит
|
||||||
|
git commit --amend --no-edit -S
|
||||||
|
|
||||||
|
Также можно добавить соответствующий элиас в .ginconfig
|
||||||
|
sign = commit --amend --no-edit -S
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user