Apakah ada cara untuk menanamkan kunci publik GPG dalam skrip tanpa menambahkannya ke keyring?

9

Saya memiliki skrip yang pada dasarnya perlu melakukan hal berikut:

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

Apakah ada cara untuk melakukan ini tanpa mengimpor kunci GPG ke keyring terlebih dahulu?

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

Jawaban:

6

Jika Anda sama sekali tidak ingin menggunakan keyring pengguna, arahkan GPG ke keyring sementara.

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

EOF
gpg -e -r  myfile.txt

Jika Anda ingin menggunakan keyring pengguna juga, atur GNUPGHOMEhanya selama perintah impor dan teruskan --keyring "$tmp/pubring.gpg"ke gpgperintah kedua .

Gilles 'SANGAT berhenti menjadi jahat'
sumber