Existe uma maneira de incorporar uma chave pública GPG em um script sem adicioná-la ao chaveiro?

9

Eu tenho um script que basicamente precisa fazer o seguinte:

#!/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 uma maneira de fazer isso sem importar a chave GPG para o chaveiro primeiro?

Naftuli Kay
fonte

Respostas:

6

Se você não quiser usar o chaveiro do usuário, aponte o GPG para um chaveiro temporário.

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

EOF
gpg -e -r  myfile.txt

Se você também deseja usar o chaveiro do usuário, configure GNUPGHOMEapenas durante o comando import e passe --keyring "$tmp/pubring.gpg"para o segundo gpgcomando.

Gilles 'SO- parar de ser mau'
fonte