การเข้ารหัส PGP ง่าย ๆ ในขั้นตอนเดียว?


4

ฉันต้องการเรียกใช้การเข้ารหัส gpg ในไฟล์โดยไม่ต้องลงทะเบียนคีย์กับระบบเลย

เป็นการดีที่จะมีวิธีการผ่านในเส้นทางไปยังไฟล์คีย์และมีการเข้ารหัสทำงานบนไฟล์เป้าหมายสำหรับฉัน

มีวิธีทำเช่นนี้หรือไม่? ฉันใช้ CentOS Linux

linux  bash  gnupg  pgp 

คุณสามารถใช้ --keyring, --secret-keyringและ --no-default-keyring เพื่อเปลี่ยนไฟล์พวงกุญแจที่ GPG ใช้
Wyzard

คำตอบ:


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-----
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.