В ~/.gnupg/gpg-agent.conf
:
default-cache-ttl 14400
max-cache-ttl 14400
pass
дёргал пароли через dmenu
В ~/.gnupg/gpg-agent.conf
:
pinentry-program /usr/bin/pinentry-dmenu
В ~/.gnupg/pinentry-dmenu.conf
font = "Terminus:size=12";
normal_fg = "#bbbbbb";
normal_bg = "#222222";
select_fg = "#eeeeee";
select_bg = "#cc3500";
gpg --full-generate-key
gpg --export --armor user@example.com > pub.key
(можно добавить --export-options backup
)gpg --export-secret-key --armor user@example.com > priv.key
(можно добавить --export-options backup
)gpg --import priv.key
gpg --edit-key user@example.com
gpg> trust
5 = I trust ultimately
gpg> save
gpg --output file.txt.gpg --encrypt --recipient user@example.com file.txt
gpg --output file.txt --decrypt file.txt.gpg
gpg --symmetric file.txt
gpg file.txt.gpg
gpg --sign --default-key user@example.com file.txt
gpg --verify file.txt.gpg
Посмотреть ID: gpg --list-secret-keys --keyid-format long
Скопировать sec ed25519/<ID-HERE> ...
Вставить в .gitconfig
:
[user]
...
signingkey = <ID-HERE>
Для подписи отдельного коммита, добавить -S
: git commit -S -m 'lol kek'
Для подписи всех коммитов:
[commit]
gpgsign = true
Экспортировать публичный ключ по ID: gpg --export --armor <PUB-KEY-ID>
Вставить ключик на сайте