Иногда я могу захотеть использовать чей-то ключ gpg для отправки сообщения, но мне больше не понадобится использовать этот ключ снова.
Импорт ключа в этом случае кажется ненужным.
Я искал, но не нашел ничего, свидетельствующего о том, что это возможно. Это немного раздражает, когда приходится каждый раз делать --delete-keys.
GnuPG требует, чтобы все ключи, которые вы хотите использовать, были импортированы в связку ключей.
Если вы не хотите импортировать его в свою обычную связку ключей, используйте другую (временную) связку ключей или даже временный домашний каталог GnuPG (который также будет обходить любую конфигурацию).
Устанавливать --primary-keyring temporary.gpg
использовать (и при необходимости создать) временную связку ключей по умолчанию. Он будет создан в вашем домашнем каталоге GnuPG (~/.gnupg/temporary.gpg
по умолчанию). Ваш обычный брелок по-прежнему будет доступен, но импорт будет временным. Удалите как хотите.
Например:
gpg --primary-keyring temporary.gpg --import key.asc
gpg --primary-keyring temporary.gpg --recipient 0xDEADBEEF --encrypt
rm ~/.gnupg/temporary.gpg # can be omitted, not loaded by default
Это также сбросит всю конфигурацию и может быть полезно для тестирования некоторых вещей. Устанавливать --homedir [folder]
или переменная среды $GNUPGHOME
, импортируйте ключ, выполните любые операции, а затем удалите папку по своему желанию.
Например:
export GNUPGHOME=/tmp/gnupg # Or apply --homedir on each invocation
gpg --import key.asc
gpg --recipient 0xDEADBEEF --encrypt
rm -r $GNUPGHOME # Can be omitted
unset $GNUPGHOME
GnuPG очень разборчив в отношении разрешений, вам может потребоваться применить более строгие разрешения к $GNUPGHOME
папку перед выполнением всех операций. Вполне возможно, что у вас будет игровая площадка.$GNUPGHOME
вокруг.
Вы можете создать небольшой сценарий оболочки, который копирует ваш файл pubring.gpg, импортирует ключ, шифрует ваш файл, а затем перемещает исходный файл pubring.gpg на место. В следующий раз это превратит его в однострочник.
#!/bin/sh
cp -a ~/.gnupg/pubring.gpg ~/.gnupg/pubring.gpg-backup
gpg ... # Command to import
gpg ... # Command to encrypt message/file
mv ~/.gnupg/pubring.gpg-backup ~/.gnupg/pubring.gpg
Примечание: параметрами скрипта являются переменные «$ 1», «$ 2», ...