如何使用特定公钥对文件进行签名并在GPG中检查所使用的密钥是什么?

4

我使用 gpg 生成了3对公钥和私钥。我想用这3个公钥中的一个签名一个文件,然后验证是哪个公钥被用来签署了文件。

如何实现这一点?

我尝试使用 gpg --sign --default-key person1@gmail.com data.txt 签署文件,但不知道是否正确。此外,验证怎么处理?


1
你不使用公钥签名。 - tuntap
1个回答

4
gpg -d data.txt.gpg

将解密文件(默认-o为data.txt),并告诉您哪个密钥对其进行了签名。如果在磁盘上拥有已解密的文件可能会带来问题,则可以尝试以下方法:

gpg -d -o /dev/null data.txt.gpg

它仍会告诉您签名是否有效以及签名的密钥。

要指定在签名时使用哪个密钥:

gpg --sign -u <key-id> somefile.txt

但是如果我有多个密钥文件,并且想要检查其中一个是否用于签名,该怎么办? - yak
当您解密并且签名有效时,它将显示一行类似于“Signature made MM/DD/YYYY HH:MM:SS Time Zone\n using RSA key <key fingerprint> \n Good signature from "Your Name (with comment) address@site.com" [trust level]” 的内容。该指纹对应于使用的密钥。在测试文件上尝试一下,您就会明白。 - user8675309
OP想要使用公钥签名。gpg --sign不会使用公钥进行签名。你需要使用公钥进行加密,使用私钥进行签名。这是一直都是这样的。 - tuntap

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