С GnuPG исходное имя файла можно увидеть в 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 <grawity@gmail.com>"
:compressed packet: algo=2
:literal data packet:
mode b (62), created 1356362981, name="passwords.txt",
raw data: 8 bytes
(Примечание: весь буквенный пакет данных, включая имя файла, зашифрован. Если у вас нет закрытого ключа, вы также не сможете увидеть имя.)
Также вы можете использовать --decrypt
вместе с --verbose
(или -v -d
для краткости):
$ gpg --verbose --decrypt test.gpg > NUL
gpg: public key is CE7B5510340F19EF
gpg: using subkey CE7B5510340F19EF instead of primary key D24F6CB2C1B52632
4096-bit RSA key, ID CE7B5510340F19EF, created 2009-10-31
(subkey on main key ID D24F6CB2C1B52632)
gpg: encrypted with 4096-bit RSA key, ID CE7B5510340F19EF, created 2009-10-31
"Mantas Mikulėnas <grawity@gmail.com>"
gpg: AES256 encrypted data
gpg: original file name='passwords.txt'
(В Linux используйте > /dev/null
.)
Если вы хотите расшифровать и сохранить весь файл, используйте параметр --use-embedded-filename
:
$ gpg -v --use-embedded-filename test.gpg
…boring output…
gpg: original file name='passwords.txt'
File `passwords.txt' exists. Overwrite? (y/N) n
(Примечание: Вы не должны использовать -d
или --decrypt
с этой опцией, так как она никогда не использует встроенное имя файла. Вместо этого используйте действие "по умолчанию".)
Не забывайте, что не все файлы имеют имена. В Linux gpg
часто используется для непосредственного шифрования вывода другой программы без сохранения его в файле. Затем он будет отображаться как:
$ echo Testing | gpg --store | gpg --list-packets
:compressed packet: algo=1
:literal data packet:
mode b (62), created 1356362394, name="",
raw data: 8 bytes
При шифровании (или просто сохранении) внедренное имя файла может быть изменено с помощью --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