Existe-t-il un moyen d'incorporer une clé publique GPG dans un script sans l'ajouter au trousseau?

9

J'ai un script qui doit essentiellement faire ce qui suit:

#!/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

Existe-t-il un moyen de le faire sans importer d'abord la clé GPG dans le trousseau de clés?

Naftuli Kay
la source
Connexe: stackoverflow.com/questions/9073288/… , lists.gnupg.org/pipermail/gnupg-users/2004-October/023409.html
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Réponses:

6

Si vous ne souhaitez pas du tout utiliser le trousseau de clés de l'utilisateur, dirigez GPG vers un trousseau de clés temporaire.

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

EOF
gpg -e -r  myfile.txt

Si vous souhaitez également utiliser le trousseau de clés de l'utilisateur, définissez-le GNUPGHOMEuniquement lors de la commande d'importation et passez --keyring "$tmp/pubring.gpg"à la deuxième gpgcommande.

Gilles 'SO- arrête d'être méchant'
la source