我是否必须两次解密已签名和加密的文件以获取实际数据文件?


0

我有文件必须解密两次才能获得实际的数据文件。我用来解密文件的命令是:

gpg -o Tesfile.txt -d Testfile.txt.pgp

我读到的是,如果解密的文件已签名,则签名也会被验证。-d选项还验证和解密文件。但是这个特定文件不能立即解密。

我应该使用什么gpg命令使用单个命令解密文件?


1
你确定特定文件不只是加密两次吗?--decrypt不需要为文件运行两次(签名或其他),如果你运行了两次,你不应该期望不同的结果(例如,一旦它什么也没做,第二次解密文件)。gnupg.org/gph/en/manual/x110.html
弗兰克托马斯

-vvvvvv所有解密提供完整的终端输出(可能有详细程度)将非常有帮助
Xen2050 2017年

Answers:


0

如果文件在一次通过中加密并签名,您也可以在一次通过中解密和验证。在这种情况下,OpenPGP消息由提供加密层的OpenPGP数据包构成,并且在加密容器内,消息已签名:

gpg --recipient alice@example.org -o file.gpg --sign --encrypt file

但是,当然,人们可能首先签署一条消息(例如通过运行gpg --clearsign file),然后手动加密输出(观察gpg称为twize):

gpg --clearsign file | gpg --recipient alice@example.org --encrypt -o file.gpg

在这种情况下,清除的文件(这将在单个文件中包装签名和消息,而不是提供单独的签名文件)在第二次运行中加密,并且重复所有OpenPGP标头。

您可以通过运行来分析OpenPGP消息的结构gpg --list-packets <filename>,它提供了对OpenPGP消息的非常技术性的描述,包括所有单独的OpenPGP数据包和报头。阅读RFC 4880,OpenPGP将有助于理解输出。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.