Убирать открытых ключей?

мой GnuPG брелок содержит сотни ненужных записей. Как удалить из него устаревшие, отозванные и неподписанные ключи?

Я хотел бы сохранить ключи, которые подписали свой ключ и импортировать новые ключи только по мере необходимости. Ранее я импортировал всю сеть доверия для подписантов моего ключа. Казалось бы, один из моих ключевых подписантов собрал очень большое количество подписей в своих путешествиях, и теперь они засоряют мой брелок.

12
задан scruss
16.12.2022 6:41 Количество просмотров материала 2813
Распечатать страницу

3 ответа

от Чарльза Локхарта GPG шпаргалка:

я использовал User Name как имя, связанное с ключом.  Извини, что не очень изобретательно.  I think gpg довольно широк в своих пользовательских назначениях, например, имя моего закрытого ключа "Чарльз Локхарт", но я могу сослаться на это, просто поставив "Локхарт".  В этом нет никакого смысла, извини.

удалить a открытый ключ (из кольца открытых ключей):

$ gpg --delete-key "User Name"

удаляет открытый ключ из кольца открытых ключей.

Примечание: Если есть закрытый ключ на свой собственный брелок, связанный с этим открытым ключом, вы получите сообщение об ошибке! Сначала необходимо удалить закрытый ключ для этой пары ключей из кольца закрытых ключей.

чтобы удалить закрытый ключ (ключ на вашем кольце закрытого ключа):

$ gpg --delete-secret-key "User Name"

Это удаляет секретный ключ от вашего секретного брелока.

23
отвечен MelBurslan 2022-12-17 14:29

У меня есть сценарий bash, который планируется запускать еженедельно из cron, чтобы справиться с этим:

#!/bin/bash
# Clean up the GPG Keyring.  Keep it tidy.
# blog.lavall.ee

echo -n "Expired Keys: "
for expiredKey in $(gpg2 --list-keys | awk '/^pub.* \[expired\: / {id=; sub(/^.*\//, "", id); print id}' | fmt -w 999 ); do
    echo -n "$expiredKey"
    gpg2 --batch --quiet --delete-keys $expiredKey >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo -n "(OK), "
    else
        echo -n "(FAIL), "
    fi
done
echo done.

echo -n "Update Keys: "
for keyid in $(gpg -k | grep ^pub | grep -v expired: | grep -v revoked: | cut -d/ -f2 | cut -d' ' -f1); do
    echo -n "$keyid"
    gpg2 --batch --quiet --edit-key "$keyid" check clean cross-certify save quit > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo -n "(OK), "
    else
        echo -n "(FAIL), "
    fi
done
echo done.

gpg2 --batch --quiet --refresh-keys > /dev/null 2>&1
if [ $? -eq 0 ]; then
    echo "Refresh OK"
else
     echo "Refresh FAIL."
fi
7
отвечен Warren Lavallee 2022-12-17 16:46
% gpg --edit-key KEYID
gpg> clean
User ID [...]: 139 signatures removed
gpg> save
% gpg --version
gpg (GnuPG) 1.4.18
[...]
4
отвечен fche 2022-12-17 19:03

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх