4

Я хотел бы запустить шифрование gpg для файла без необходимости регистрации ключей в системе.

В идеале был бы способ передать путь к файлу ключа и запустить шифрование для целевого файла для меня.

Есть ли способ сделать это? Я использую CentOS Linux.

1 ответ1

3

Там, где есть воля, есть способ ...

Сохраните следующее как исполняемый скрипт, называя его как хотите. (Я назвал это G )

#!/bin/bash
# Requires pubkey_file as 1st arg
# Will automatically set encrypt recip to first pub key found in keyring
# Passes all additional args to gpg
g=$(mktemp -d) && trap "rm -rf $g" EXIT || exit 255                                                                                                                                
gpg --homedir $g --import "$1" 2>&1 | awk /key.\*imported/ >&2
shift
keyid=$(gpg --homedir $g -k --with-colons 2>/dev/null| awk -F: /^pub/{print\$5})
if [[ -n $keyid ]]; then
  gpg --homedir $g --trust-model always -ver $keyid "$@"
else
  echo "Could not find pubkey in imported keyring" >&2
fi

Вот я использую это:

[ryran]$ gpg -k
[ryran]$ G /tmp/barackskey.asc /tmp/hhwchk.orig
gpg: key 6B004035: public key "Barack Obama <bo@devnull>" imported
gpg: using subkey 457D05AC instead of primary key 6B004035
gpg: No trust check due to `--trust-model always' option
gpg: reading from `/tmp/hhwchk.orig'
gpg: writing to `/tmp/hhwchk.orig.gpg'
gpg: ELG-E/AES256 encrypted for: "457D05AC Barack Obama <bo@devnull>"
[ryran]$ 
[ryran]$ gpg -k
[ryran]$ G /tmp/barackskey.asc -ao- /etc/issue
gpg: key 6B004035: public key "Barack Obama <bo@devnull>" imported
gpg: using subkey 457D05AC instead of primary key 6B004035
gpg: No trust check due to `--trust-model always' option
gpg: reading from `/etc/issue'
gpg: writing to `-'
gpg: ELG-E/AES256 encrypted for: "457D05AC Barack Obama <bo@devnull>"
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.12 (GNU/Linux)

hQEOA5S5GiBFfQWsEAP+LTru/pgYPOzMDbc6xPbFUcSjq6qBzKvZ4Smf0P1IKesi
9u7P3zq5njsRKMjdKH71EaRMUTOcrTKzRH0iEoYtVSeWUlR1oHNKZewZUXNknRHu
AWc1SLHxrULisl6CenL0u0glQ8/Q4RNCXxeplqMXdtnocig/VGLLTsY1UKCMgtgE
AJDXinycZpOv1nl9UgW6h8e0ifO/txPTmleW2GRMIRCfs59gNYR13x+oGi1EkL6y
rSLicknLj/uQ1a8d8C/4nDEAtGyhtOYzP5SavTOLPR+jr5NrbCNvmKBOmSXCU1y+
KrZpsOxGdNxoIuGEpYlTOZV//BUHStNLv/Szf+pggtfX0nEB1zdMLzK2p0JcJXIs
Jz9PNmNsHZUr5Zys11xe8wx4X+yjMGHt6kqqoPABau1ETDR7J23vguDKAh68rMX7
2doxof/vKEksB8mzePdIh0cUnZqYWurtm/hX02wszJ5bHKPKjKJwl+YRWSG5YWUY
M4h20w==
=1/2D
-----END PGP MESSAGE-----

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .