Compare commits

..

1 Commits

Author SHA1 Message Date
50f9049c98 gpg key expire 2026-01-19 17:24:30 +03:00

View File

@@ -9,6 +9,7 @@ GPG ключи по сравнению с SSH ключами имеют боле
- настройка срока действия ключей с возможностью продления в будущем; - настройка срока действия ключей с возможностью продления в будущем;
- привязка ключей к имени пользователя и почте; - привязка ключей к имени пользователя и почте;
- возможность загрузки публичных ключей на сервера ключей; - возможность загрузки публичных ключей на сервера ключей;
- возможность хранения секретных ключей на аппаратном ключе который поддерживает стандарт OpenPGP Card (например Yubikey)
Под Windows утилита gpg идет вместе с git. Так что можно работать сразу после установки git. Под Windows утилита gpg идет вместе с git. Так что можно работать сразу после установки git.
@@ -81,10 +82,9 @@ gpg --expert --edit-key [id]
Прежде удалять мастер ключ или переносить сабключи на карту, необходимо сделать бекап (экспорт) всей нашей работы. Прежде удалять мастер ключ или переносить сабключи на карту, необходимо сделать бекап (экспорт) всей нашей работы.
``` ```
gpg -a --export-secret-key [id] > master.key # Экспорт основного ключа gpg -a --export-secret-key [id] > master.key # Экспорт мастер ключа (вместе с сабключами)
gpg -a --export-secret-subkeys [id] > subkeys.key # Экспорт сабключей gpg -a --export-secret-subkeys [id] > subkeys.key # Экспорт сабключей (не обязательно)
gpg -a --export [id] public.key # Экспорт публичных ключей gpg -a --export [id] > public.key # Экспорт общего публичного ключа
``` ```
## Сохранение на аппаратный ключ ## Сохранение на аппаратный ключ
@@ -108,11 +108,11 @@ gpg --edit-key [id] # входим в режим редактиро
## Удаление секретных ключей ## Удаление секретных ключей
Удалем секретный ключ: Удаляем секретные ключи:
``` ```
gpg --delete-secret-keys [id] gpg --delete-secret-keys [master-key-id]
``` ```
Удалятся все секретные ключи. Для того чтобы gpg понял что секретные ключи находятся на карте выполняем: Для того чтобы gpg понял что секретные ключи находятся на карте выполняем:
``` ```
gpg --card-status gpg --card-status
``` ```
@@ -160,8 +160,7 @@ signoff = commit --amend --no-edit -s
Если удалить не получается то надо убить процессы: Если удалить не получается то надо убить процессы:
``` ```
gpgconf --kill gpg-agent gpgconf --kill all
gpgconf --kill keyboxd
``` ```
Импортируем ключи с карты: Импортируем ключи с карты:
@@ -183,10 +182,13 @@ gpg --edit-key [id]
Короткий вариант продлить сразу все ключи: Короткий вариант продлить сразу все ключи:
``` ```
gpg --import ~/master.key # временно импортируем мастер ключ gpg --import ~/master.key # временно импортируем мастер ключ
gpg --quick-set-expire [master-key-fingerprint] 2y '*' gpg --quick-set-expire [master-key-fingerprint] 1y '*' # продляем на 1 год с текущей даты
gpg --delete-secret-keys [master-key-id] # удаляем мастер ключ gpg --quick-set-expire [master-key-fingerprint] 2025-12-31 '*' # или указываем конкретную дату
gpg --delete-secret-keys [master-key-id] # удаляем секретные ключи
gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере
gpg -a --export [master-key-id] > public.key # экспорт публичных ключей
# обновляем public.key на всех серверах git
``` ```
Или вручную по одному: Или вручную по одному:
@@ -206,6 +208,9 @@ gpg --edit-key [master-key-id]
> 1y # 1 год например > 1y # 1 год например
> key 3 # снимаем старый выбор > key 3 # снимаем старый выбор
> save # сохраняем (локальные ключи сотрутся!) > save # сохраняем (локальные ключи сотрутся!)
gpg --delete-secret-keys [master-key-id] # удаляем мастер ключ gpg --delete-secret-keys [master-key-id] # удаляем секретные ключи
gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере
gpg -a --export [master-key-id] > public.key # экспорт публичных ключей
# обновляем public.key на всех серверах git
``` ```
Обновлять приватные ключи на аппаратных ключах (Yubikey) не нужно, т.к. там храниться только криптографическая часть, без метаданных.