.gpg、.sig和.asc之间有哪些有意义的区别?

20

我知道.asc签名是以文本文件格式输出,而.sig.gpg是二进制文件。

不过,先抛开这个问题:

  1. .sig.gpg是不同的文件,只是扩展名不同吗?如果不是,那么为什么要使用其中一个而不是另一个?
  2. 在文本文件和二进制文件之间,相对优势是什么?安全性、效率、兼容性等方面如何?
1个回答

21
.sig”和“.gpg”是不同的文件,只是扩展名不同。在GnuPG上下文中,“.gpg”是GNU Privacy Guard公钥环文件,二进制格式,可以参考4.2配置文件。而“.sig”是GPG签名文档文件,二进制格式。“.asc”是带或不带包装文档的ASCII装甲签名,通常用于明文签名文件。它通常附加未修改的原始文档及其签名。在使用分离的签名时,您可以仅生成签名,而无需通过--detach-sig生成原始文档。
为什么要使用其中一个而不是另一个呢?好问题!由于OpenPGP是一种开放标准(RFC 4880),其第6节提供了详细的解释,我只引用关键部分:
原则上,符合不安全通道要求的任何可打印编码方案都可以胜任,因为它不会改变本机OpenPGP数据结构的底层二进制位流。OpenPGP标准规定了一种这样的可打印编码方案,以确保互操作性。我将使用此answer作为二进制格式与ASCII格式的优缺点回复。

啊,我明白了。谢谢! - CuriousCat
@CuriousCat 如果您认为这个回答解决了您的问题,能否接受它? - shawnzhu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接