我们可以使用以下命令签署文件gpgp
:
gpg -s file.pdf
从而生成文件签名file.pdf.gpg
。
也可以制作独立签名:
gpg -b file.pdf
从而生成file.pdf.sig
.
我注意到*.sig
文件总是 566 字节,而 的大小*.gpg
与原始文件的大小成正比。
我的问题是:
- GPG 签名和分离签名有什么区别?
- 为什么
*.gpg
签名更大? - 一个比另一个更安全吗?
答案1
GPG 签名和分离签名有什么区别?
“GPG 签名”是指签名的消息。这是正在签名的数据和签名合并到一个文件中。相反,分离签名与正在签名的文件是分开的。
为什么 *.gpg 签名更大?
因为它包含正在签名的文件的压缩副本以及签名数据,而分离签名仅包含签名数据。
一个比另一个更安全吗?
两种格式的签名计算方式完全相同。
对于小文本文件以外的任何文件,使用独立签名通常更容易。
答案2
使用 -s 时,输出是包括签名的原始文件,换句话说,输出是签名的文档。这就解释了为什么它的大小随文档大小而变化。
使用 -b 时,输出是单独签名。然后您将拥有两个文件:签名和原始未更改的文档。
选择哪一个是工作流程和便利性的问题。例如,如果您不想从.gpg
文件中剥离原始文档,请创建一个分离的签名。但是,您必须确保签名文件和文档文件保存在一起。
在这两种情况下,使用相同的算法来创建签名。因此,我不认为其中一个比另一个更安全。
请参阅手动的:
命令行选项--sign用于进行数字签名。输入要签署的文件,并且输出签署的文件。