.gpg、.sig. 和 .asc 之间有什么有意义的区别?

Cur*_*Cat 3 gnupg pgp openpgp gpg-signature

我知道.asc签名作为文本文件输出,而.sig&.gpg是二进制文件。

一边说:

  1. .sig.gpg不同的扩展名相同的文件?如果没有,为什么要使用一个?
  2. 文本文件和二进制文件,有什么相对优势?安全性、效率、兼容性等。

sha*_*zhu 7

.sig.gpg不同的扩展名相同的文件?

不,它们在 GnuPG 的上下文中是不同的文件。

  • .gpg- GNU Privacy Guard 公共密钥环文件,二进制格式。参见4.2 配置文件中的示例
  • .sig - GPG 签名文档文件,二进制格式。
  • .asc- 带有或不带有包装文档的纯文本格式的 ASCII 装甲签名。通常用于明文签名的文件中。通常它附有未经修改的原始文档及其签名。在使用分离签名时,您可以通过--detach-sig.

如果没有,为什么要使用一个?

好问题!由于OpenPGP是一个开放标准(RFC 4880),它的第6节提供了详细的解释,我只引用关键部分:

原则上,满足不安全通道要求的任何可打印编码方案就足够了,因为它不会改变本机 OpenPGP 数据结构的底层二进制位流。OpenPGP 标准指定了一种这样的可打印编码方案以确保互操作性。

我将使用此答案作为对二进制与 ASCII 格式的优缺点的回复。