Posso specificare un file di chiave pubblica invece del destinatario durante la crittografia con GPG

12
  1. Posso fare qualcosa di simile:

    gpg --public-key my.pub  -e file.txt
    
  2. Se posso, qualsiasi ragione per cui non dovrei farlo?

P / s: Penso di non aver bisogno di sapere del destinatario perché la mia macchina ha solo una chiave pubblica alla volta.
Ma quella chiave cambierà presto (e posso cancellare tutti i vecchi file crittografati, quindi non c'è bisogno di tenerli).

    
posta nvcnvn 23.04.2015 - 18:18
fonte

2 risposte

18

GnuPG non supporta la crittografia di un destinatario specificato da un file chiave. La chiave deve essere importata in anticipo e il destinatario definito con il suo indirizzo di posta o l'ID della chiave.

Consiglierei di usare un approccio più pulito come previsto da GnuPG e hard-code sia l'impronta digitale della chiave, sia un ID utente dato da quella chiave e importarlo come al solito.

Se davvero non vuoi importare la chiave, potresti seguire come soluzione alternativa (che in realtà importa la chiave, ma in una directory home GnuPG temporanea):

  1. Importa la chiave in una cartella temporanea, ad esempio utilizzando

    gpg --homedir /tmp/gnupg --import my.pub
    
  2. Determina l'ID della chiave della chiave memorizzata nel file:

    KEYID='gpg --list-public-keys --batch --with-colons --homedir /tmp/gnupg | head -n1 | cut -d: -f5'
    
  3. Encrypt un messaggio al destinatario

    gpg --homedir /tmp/gnupg --recipient ${KEYID} --encrypt
    
  4. Pulisci la directory home di GnuPG temporanea

    rm -f /tmp/gnupg
    

Ovviamente potresti salvarlo come script per renderlo più comodo.

    
risposta data 23.04.2015 - 23:47
fonte
3

Per quanto ne so, gli ID delle chiavi pubbliche del destinatario, le date di validità della chiave, il nome e l'indirizzo e-mail sono incorporati nel file Armatura GPII ASCII ( Manuale di GnuPG )

pub  1024D/BB7576AC 1999-06-04 Alice (Judge) <[email protected]>

Quindi utilizzando il file chiave pub / ID chiave / Nome / Email per identificare quale chiave pubblica utilizzare dovrebbe essere equivalente.

MA non ho accesso a una macchina Linux adesso, quindi non posso controllare.

    
risposta data 23.04.2015 - 18:46
fonte

Leggi altre domande sui tag