Котожена

Настраиваем GPG-ключ для GitHub

Настраиваем ассиметричное шифрование через GPG
11 августа, 2021
1 минута чтения

Одна из главных проблем сети www — невозможность верифицировать пользователя. На любом этапе передачи сообщения, можно вмешаться в трафик пользователя и подменить его сообщение на другое. Чтобы миновать это, используется шифрование сообщений. Для веб-сайтов это решается средствами защищенного формата HTTP в виде надстройки HTTPs, с помощью TLS сертификатов, выданных удостоверяющими центрами. Однако, сами удостоверяющие центры могут быть хакнуты или сертификат может быть заменен на уровне системы конечного пользователя. Чтобы избавиться от лишних прослоек и защитить свое сообщение в сети, например посредством передачи E-Mail или Git-коммита, я рекомендую использовать асимметричное шифрование GPG. О его настройке и пойдет далее речь.

Генерация ключа на MacOS используя утилиту GPG2

Скачиваем бинарь https://sourceforge.net/p/gpgosx/docu/Download/ или собираем утилиту из исходников.

Генерация ключа

gpg2 --full-gen-key

Затем придумываем свой passphrase. Он в дальнейшем нам понадобится для доступа к созданным ключам.

Screenshot 2021 08 11 at 11.43.57
Пример интерфейса: установка настоящего имени и почты

В результате получаем отпечаток ключа. В моем случае это 9A9A4EF0EBFF0EAD8F90FC6F0D8AE20DCFB37AAD. Далее в тексте я буду использовать его.

Отображение публичного ключа

gpg2 --armor --export 9A9A4EF0EBFF0EAD8F90FC6F0D8AE20DCFB37AAD

Экспорт ключей

Крайне желательно экспортировать ваши ключи в файлы и сохранить их в безопасном месте.

Экспорт открытого ключа в файл

gpg2 --armor --export YOUR@EMAIL > mygpgkey.asc

Экспорта секретного ключа в файл

gpg2 --armor --export-secret-key YOUR@EMAIL > mysecretpgpkey.asc

Экспорт trustdb в текстовый файл

gpg --export-ownertrust > trustdb.txt

Генерация ключа на Windows

Скачиваем Kleopatra https://gnupg.org/download/.

kleopatra
Интерфейс Kleopatra

Настройка GPG подписи в Git

Screenshot 2021 08 11 at 11.46.47
Вставляем весь публичный ключ в интфейс GitHub

Добавляем в настройки локального гита свою подпись

Важно! Не забудьте, что теперь ваши user.name и user.email в .gitconfig должны соответствовать тем, что были указаны при создании ключа.

git config --global user.signingkey 9A9A4EF0EBFF0EAD8F90FC6F0D8AE20DCFB37AAD
git config --global commit.gpgsign true

Установка конфигурации программы gpg для MacOS

git config --global gpg.program gpg2

Установка конфигурации программы gpg для Windows

Для Windows нужно указать путь к программе:

git config --global gpg.program "C:/Program Files (x86)/GnuPG/bin/gpg.exe"

В результате ваша конфигурация git будет выглядеть примерно так:

git config
Пример файла .git/config

(Опционально) можете сохранить ваш открытый ключ на своем сервере

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

Пример загрузки открытого ключа на мой блог WordPress:

scp -r mygpgkey.asc [email protected]:/var/www/html/wp-content/uploads/

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая статья

Связаться со мной

SEO рекомендации
Следующая статья

SEO рекомендации для всех