La crittografia OpenPGP è definita solo su singoli file, non esiste un modo ufficiale per definire qualcosa come una struttura di cartelle, per non parlare delle autorizzazioni, dei proprietari di file e di altre cose che si potrebbero voler conservare durante la crittografia delle cartelle.
Il "modo unix" per aggirare questo è quello di creare un archivio, che viene successivamente crittografato, che è spiegato nel capitolo manuale di GnuPG "8.11 Cifra o firma i file in un archivio" a cui hai fatto riferimento.
gpg-zip
prende una cartella come input, la inserisce in un archivio tar che viene infine crittografato, mantenendo una interfaccia a riga di comando altrimenti simile a GnuPG. L'esecuzione di gpg --list-packets
sull'output di gpg-zip
rivela cosa sta facendo GnuPG qui (ho usato la crittografia simmetrica qui, ma funziona allo stesso modo usando la crittografia a chiave pubblica / privata), crittografando /tmp/foo
mentre è in /tmp
:
$ gpg-zip --symmetric foo | gpg --list-packets
:symkey enc packet: version 4, cipher 3, s2k 3, hash 10
salt 640c284b119eb28c, count 102400 (105)
gpg: CAST5 encrypted data
:encrypted data packet:
length: 183
gpg: encrypted with 1 passphrase
:compressed packet: algo=1
:literal data packet:
mode b (62), created 1445875407, name="x.tar",
raw data: unknown length
gpg: WARNING: message was not integrity protected
x.tar
è il file che otterresti anche come risultato quando decifri il file manualmente.