- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图更好地了解 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 answer那gpg
使用 SIGN THEN ENCRYPT。这意味着调用--verify
或任何对加密文件进行验证的变体只会输出 gpg: verify signatures failed: Unexpected error
.发生这种情况是因为签名在加密中“隐藏”,所以当您尝试调用 --verify
在文件上,它不会看到签名。
其次,--decrypt
flag 将解密文件,如果文件已签名,也将对其进行验证。
这是--decrypt
是在做。它会查看您的默认 key 环 secring.kbx
在 ~/.gnupg
使用 key 来解密文件。然后在解密后,它会查看您的默认公钥环 pubring.kbx
在文件夹 ~/.gnupg
并尝试验证文件上的签名(如果有的话)。
--decrypt
指定 key 环与以下命令一起使用:
gpg --secret-keyring path/to/temp/secring.kbx --keyring path/to/temp/pubring.kbx --decrypt file.txt.gpg
此命令将在指定路径查找 secret 环和公共(public)环,以便使用这些环进行解密和验证,而不是在
~/.gnupg
中找到的默认环。 .想要将默认铃声与临时铃声一起使用吗?只需省略您想要默认的环的标志和路径。
关于gnupg - 您如何使用 gpg 验证加密和签名的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59328280/
这是一个基于 Python 的 GnuPg 用户友好的前端程序。 一直试图找到只导入一个公钥而不是所有公钥的命令。 这将导入文件中的所有键 gpg --import Some_pub_keys.txt
我需要生成一个 PGP 公钥/私钥。我以前从来没有这样做过。我已阅读文档,但给出的示例与我在计算机上看到的不匹配。 我用 gnupg 生成了 key 。 我运行命令列出公钥 gpg --list-ke
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 8年前关闭。 Improve thi
几年前,我改变了我的真实姓名。然后我自然想将名称更改为我的公共(public)和私有(private) GPG key 。我已经设法用我的新真实姓名为我的公钥生成子 key ,并且我已经设法用我以前的
我想删除用户 ID 或更新其评论,或者至少将另一个用户 ID 设为默认值。这是因为它包含的注释有一个愚蠢的排版错误。喜欢: gpg> list pub 4096R/xxxxxxxx created
我在使用 Python gnupg 模块验证签名时遇到问题。使用此模块,我可以加密和签署文件: gpg.encrypt_file(stream, encrypt_for, sign=sign_by,
我确实用 git 签署了提交,这是一个大问题,我无法从 CLI 以外的任何地方输入 gpg key 密码。例如,如果我将在 vscode 中提交,它将失败。所以我想出了一个想法,只需从 CLI 输入密
我是 PGP 新手,我正在尝试使用 GnuPG 通过 this tutorial 生成 PGP 私钥. 基本上,我在命令提示符下键入以下命令(在管理员模式下): gpg --gen-key 输入以下所
我有一个 Java 应用程序,它从远程计算机获取 GnuPG 加密文件,我需要解密和处理它们。然后我需要加密输出文件并将其发送到远程计算机。 首先我尝试了gnupg-for-java ( https:
尝试在 Python 中初始化 GnuPG 绑定(bind)时,我收到一条错误消息 TypeError: __init__() got an unexpected keyword argument '
如何通过 GPG(GnuPG) 中的子 key (多个子 key (e))加密 pub rsa4096/22E49AB870AD169A 2017-03-09 [SC] uid
我收到一个错误: gpg: no default secret key: No secret key gpg: [stdin]: clearsign failed: No secret key GPG
以下是我一直在尝试的代码。 import os import gnupg import pdb pdb.set_trace() gpg = gnupg.GPG(gnupghome='new') inp
我需要自动加密文件,例如myfile.xls 到 myfile.gpg。现在,当我尝试自动加密或使用 GNU 隐私助手对其进行加密时,加密的文件是 myfile.xls.gpg。当我删除该 .xls
我想对文件 /tmp/public.txt 进行对称加密. gpg --symmetric /tmp/public.txt 该命令将调用 enter passphrase窗口,我想自动发送密码。 我在
我正在尝试导入公钥、读取 csv 文件、加密该文件并将加密文件存储在文件夹/目录中。程序运行但在我运行脚本后似乎没有生成、创建或输出任何内容。任何建议。 import gnupg gpg = gnup
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
是否有一些 Gpg2 使用的库的依赖树或图,例如 libgpg-error 或 libassuan &c.? 或者另一种方法来确定在其中一个获得新版本后我需要重新编译哪些?例如。据我所知,libgpg
我正在使用 GNUPG 工具通过命令行执行加密/解密。在删除公钥时,我给出了以下命令: gpg2 --quite --yes --delete-key "Solveon DB" 命令执行后我得到了问题
我正在尝试对一些使用GPG(当前为1.4.10版)的自定义软件进行过时的验证,以执行对称加密/解密过程。我当前的加密命令如下所示: gpg --batch --no-tty --no-use-agen
我是一名优秀的程序员,十分优秀!