Есть ли способ встроить открытый ключ GPG в сценарий, не добавляя его в связку ключей?

9

У меня есть скрипт, который в основном должен сделать следующее:

#!/bin/bash 

GPG_PUBLIC_KEY=<<EOF
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)
...
-----END PGP PUBLIC KEY BLOCK-----
EOF

gpg --encrypt --with-public-key "$GPG_PUBLIC_KEY" myfile.txt

Есть ли способ сделать это без предварительного импорта ключа GPG в связку ключей?

Нафтули Кей
источник
Связанный: stackoverflow.com/questions/9073288/... , lists.gnupg.org/pipermail/gnupg-users/2004-October/023409.html
Чиро Сантилли冠状病毒审查六四事件法轮功

Ответы:

6

Если вы вообще не хотите использовать пользовательский набор ключей, укажите GPG на временный набор ключей.

tmp=
trap 'rm -rf "$tmp"' EXIT INT TERM HUP
tmp=$(mktemp -d)
export GNUPGHOME="$tmp"
gpg --import <<EOF

EOF
gpg -e -r  myfile.txt

Если вы также хотите использовать пользовательский брелок, установите его GNUPGHOMEтолько во время команды импорта и передайте --keyring "$tmp/pubring.gpg"вторую gpgкоманду.

Жиль "ТАК - перестань быть злым"
источник