Per farla breve, la mia domanda è: In che modo posso forzare GnuPG quale chiave privata/pubblica utilizzare durante la crittografia/decrittografia dei file?GnuPG: Come crittografare/decrittografare i file utilizzando una determinata chiave?
Qualche spiegazione/Lunga storia
Ho un'applicazione che deve crittografare i file prima di inviarli al S3.
Gli utenti possono scaricare i loro file utilizzando i loro browser dal mio sito Web, nel qual caso devo prima decifrare i file prima di servirli.
latoclient (Delphi 2010): Sono più probabile intenzione di optare per OpenPGPBlackbox
lato server (PHP 5), ho bisogno di capire come crittografare/decifrare i file con i comandi non interattivi .
ho installato GnuPG sul mio server, provato questo codice:
clear_file='/full/path/my-file.zip'
encrypted_file='/full/path/my-file.zip.pgp'
# Encrypt file
/usr/bin/gpg2 --encrypt "$clear_file"
# Decrypt file
/usr/bin/gpg2 --decrypt "$encrypted_file"
Ma sembra che non posso indicare, nella riga di comando, i tasti da utilizzare.
Ogni utente avrà una propria chiave pubblica/privata, quindi devo essere in grado di specificare quale chiave utilizzare per codificare/decrittografare il file in questione.
La mia domanda è: Come posso forzare GnuPG quale chiave privata/pubblica utilizzare durante la crittografia/decrittografia dei file?
Grazie, sì ho letto la pagina man (e ** mi sono perso **). Ho provato questo comando: '/ usr/bin/gpg2 -v --decrypt --default-key" private-1.pgp "/ full/home/my-file.7z.pgp' ma ho ottenuto questo' gpg: public chiave è 745ECDED gpg: crittografato con chiave RSA, ID 745ECDED gpg: decrittografia non riuscita: nessuna chiave segreta ... ... cura di condividere un comando di esempio per favore? Grazie in anticipo! – TheDude
Ho anche utilizzato l'opzione '--local-user' e il percorso completo per il file della chiave privata, ma non ha aiutato – TheDude
Potrebbe essere che la chiave non sia stata trovata nel portachiavi. Non sono completamente sicuro di poter dare la chiave in quel modo. Prova a importare prima la chiave sul portachiavi con 'gpg --allow-secret-key-import --import private-1.pgp' e poi decifrare con esso:' gpg --decrypt my-file.7z.pgp'.Se questo non funziona, prova dalla riga di comando, non da php, per escludere problemi con le variabili di ambiente, ecc. Un'altra opzione è che c'è qualcosa di sbagliato nel file chiave. – Edu