gpt4 book ai didi

gnupg - 您如何使用 gpg 验证加密和签名的文件?

转载 作者:行者123 更新时间:2023-12-03 16:53:19 31 4
gpt4 key购买 nike

我试图更好地了解 gpg 发生了什么。

如果您有文件并签名:gpg --sign file.txt
您可以通过以下方式进行验证:gpg --verify file.txt.gpg
当你得到一个成功的输出时:gpg: Signature made...
但是当您签署和加密文件时:gpg --encrypt --sign -r test@email.com file.txt
然后运行 ​​--verify在我得到的加密文件上:gpg: verify signatures failed: Unexpected error
我知道我可以调用--decrypt在文件上,它将验证和解密它,但如果我只想验证呢?

最佳答案

我想出了这个问题的答案,然后是一些。因此,为了清楚起见,我将添加一些额外的信息。
首先,我根据最后一行来实现 this answergpg使用 SIGN THEN ENCRYPT。这意味着调用--verify或任何对加密文件进行验证的变体只会输出 gpg: verify signatures failed: Unexpected error .发生这种情况是因为签名在加密中“隐藏”,所以当您尝试调用 --verify在文件上,它不会看到签名。
其次,--decrypt flag 将解密文件,如果文件已签名,也将对其进行验证。
这是--decrypt是在做。它会查看您的默认 key 环 secring.kbx~/.gnupg使用 key 来解密文件。然后在解密后,它会查看您的默认公钥环 pubring.kbx在文件夹 ~/.gnupg并尝试验证文件上的签名(如果有的话)。

  • 如果它没有签名,它只会解密文件。
  • 如果它有签名,但你没有公钥,它会解密文件,但无法验证签名。
  • 如果它有签名并且你有公钥,它将解密和验证。

  • 话虽如此,没有理由在解密之前验证签名文件。
    第三,作为额外的奖励,您还可以指定要用于解密和验证的 key 环。假设您想使用临时 key 环来验证签名,或者出于任何原因,您也希望使用临时 key 环来解密消息。
    您可以为 --decrypt 指定 key 环与以下命令一起使用: gpg --secret-keyring path/to/temp/secring.kbx --keyring path/to/temp/pubring.kbx --decrypt file.txt.gpg此命令将在指定路径查找 secret 环和公共(public)环,以便使用这些环进行解密和验证,而不是在 ~/.gnupg 中找到的默认环。 .想要将默认铃声与临时铃声一起使用吗?只需省略您想要默认的环的标志和路径。
    总而言之,对于加密和签名的文件,如果要解密和验证该文件,则需要确保用于解密的私钥在您的 key 环中,而用于验证的公钥在您的公钥环中。

    关于gnupg - 您如何使用 gpg 验证加密和签名的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59328280/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com