gnupg – gpg2中的gpg-agent

前端之家收集整理的这篇文章主要介绍了gnupg – gpg2中的gpg-agent前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用GPG(目前为1.4.10)来执行对称加密/解密过程的一些自定义软件.我当前的加密命令如下所示:
gpg --batch --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted

如果没有–no-use-agent选项,我会收到臭名昭着的错误消息

gpg-agent is not available in this session

我担心转移到gpg2因为,according to the documentation,gpg-agent总是需要的,而且–no-use-agent只是一个虚拟选项.我的gpg调用通过守护进程在后台发生,所以这是一个非代理方案(加上它是对称的,我根本不需要代理).

这个详细程度的文档很少,所以我正在寻找用户体验. gpg2是否更紧密地合并了代理,因此我不必担心它的可用性?

解决方法

>调用gpg2的方式,如果输出文件path / to / file_to_be_encrypted.gpg已存在,则可能会失败.如果要覆盖该文件,则应提供–yes选项:
gpg2 --batch --yes --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted

>当你使用对称加密时(就像你一样),密码短语约束(即使设置为由gpg-agent强制执行)也不会被应用 – 它只会起作用.

假设gpg-agent是这样运行的(让mypasswords文件甚至包含与您的密码完全匹配的禁用模式):

eval $(gpg-agent --daemon --enforce-passphrase-constraints --min-passphrase-len 8 --min-passphrase-nonalpha 4 --check-passphrase-pattern mypasswords)

然后你的命令仍然会成功.

简而言之:gpg-agent不会让它失败(除非因某些原因崩溃gpg – 如错误配置或丢失可执行文件,你无法解释).

编辑:我刚检查并在对称模式下gpg2将工作,即使gpg-agent配置错误或gpg-agent可执行文件丢失.

这是不相关的,但以防万一:我还验证了当你试图在gpg-agent缺失或配置错误时更改私钥密码时会发生什么:gpg2会报告一个警告,甚至不会要求新的密码,并继续工作.

资料来源:

> gpg-agent configuration manual
> gpg documentation

猜你在找的Linux相关文章