PGP (GnuPG) - quel était le nom de fichier d'origine?

11

John veut envoyer 1.txt à Paul.

Il le chiffre. Maintenant, le fichier est nommé myFile.pgpet il l'envoie à Paul.

Paul récupère le fichier.

Comment (si possible) Paul peut-il savoir quel est le nom du fichier d'origine ( 1.txt ) était? Y a-t-il un paramètre ( --xxx ) pour voir le nom du fichier?

J'utilise GNU PGP (GnuPG) dans console mode.

Royi Namir
la source

Réponses:

17

Avec GnuPG, le nom de fichier original peut être vu dans gpg --list-packets.

$ gpg --list-packets test.gpg
:pubkey enc packet: version 3, algo 1, keyid CE7B5510340F19EF
    data: [4095 bits]
:encrypted data packet:
    length: 67
    mdc_method: 2
gpg: encrypted with 4096-bit RSA key, ID CE7B5510340F19EF, created 2009-10-31
      "Mantas Mikulėnas <[email protected]>"
:compressed packet: algo=2
: paquet de données littéral:
    mode b (62), créé 1356362981, name = "passwords.txt",  données brutes: 8 octets 

(Remarque: le paquet de données littéral entier, y compris le nom de fichier, est crypté. Si vous n'avez pas la clé privée, vous ne pouvez pas voir le nom non plus.)


Alternativement, vous pouvez utiliser --decrypt avec avec --verbose (ou -v -d pour faire court):

$  gpg --verbose --decrypt test.gpg & gt; NUL  gpg: la clé publique est CE7B5510340F19EF
gpg: utilisation de la sous-clé CE7B5510340F19EF au lieu de la clé primaire D24F6CB2C1B52632
Clé RSA 4096 bits, ID CE7B5510340F19EF, créée le 2009-10-31
         (sous-clé de la clé principale ID D24F6CB2C1B52632)
gpg: chiffré avec une clé RSA de 4096 bits, identifiant CE7B5510340F19EF, créé le 2009-10-31
      "Mantas Mikulėnas & lt; [email protected]>"
gpg: données cryptées AES256  gpg: nom de fichier d'origine = 'passwords.txt' 

(Sous Linux, utilisez > /dev/null au lieu.)


Si tu veux déchiffrer et sauvegarder le fichier entier, utilisez le --use-embedded-filename option:

$ gpg -v --use-embedded-filename test.gpg
 … Sortie ennuyeuse…  gpg: nom de fichier d'origine = 'passwords.txt'
Le fichier `passwords.txt 'existe. Écraser? (y / N) n 

(Remarque: vous ne devrait pas utilisation -d ou --decrypt avec cette option, car il n’utilise jamais le nom de fichier incorporé. Utilisez plutôt l’action "par défaut".)


N'oublie pas ça pas tout les fichiers ont des noms. Sous Linux, gpg est souvent utilisé pour chiffrer directement la sortie d'un autre programme, sans l'enregistrer dans un fichier. Il apparaîtrait alors comme:

$ echo Testing | gpg --store | gpg --list-packets
:compressed packet: algo=1
:literal data packet:
    mode b (62), created 1356362394,  nom = "" ,
    données brutes: 8 octets 

Quand cryptage (ou simplement stocker), le nom de fichier incorporé peut être changé avec --set-filename.

$ echo Testing | gpg --store --set-filename "test.txt" | gpg --list-packets
:compressed packet: algo=1
:literal data packet:
    mode b (62), created 1356362790, name="test.txt",
    raw data: 8 bytes
grawity
la source
la --list-packets ne pas extraire. il suffit d'afficher ... (non?)
Royi Namir
1
@RoyiNamir: D'accord. Mais ça Est-ce que déchiffrer, car certains paquets (y compris le nom de fichier d'origine) sont chiffrés.
grawity
quel est le -v . il n'apparaît pas dans gpg -?
Royi Namir
@RoyiNamir: C'est la forme abrégée de --verbose. (Juste comme -? et -d sont les formes courtes de --help et --decrypt.) Ma version de GnuPG Est-ce que montrez-le sous la forme: "-v, --verbose" dans la section "Options".
grawity
Je ne comprends pas: pourquoi gpg -v --use-embedded-filename bbb.gpg extraire le fichier?
Royi Namir