Fra*_*ehl 8 gnupg encryption-symmetric
我正在尝试使用GPG(目前为v 1.4.10)来执行对称加密/解密过程的一些自定义软件.我当前的加密命令如下所示:
gpg --batch --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted
Run Code Online (Sandbox Code Playgroud)
如果没有该--no-use-agent选项,我会收到臭名昭着的错误消息
gpg-agent在此会话中不可用
我担心转移到gpg2,因为根据文档,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
Run Code Online (Sandbox Code Playgroud)当您使用对称加密(像你一样的),密码限制(即使设置为强制执行的gpg-agent),将无法在所有都可以正常运行应用.
假设gpg-agent是这样运行的(让mypasswords文件甚至包含与您的密码完全匹配的禁止模式):
eval $(gpg-agent --daemon --enforce-passphrase-constraints --min-passphrase-len 8 --min-passphrase-nonalpha 4 --check-passphrase-pattern mypasswords)
Run Code Online (Sandbox Code Playgroud)
然后你的命令仍然会成功.
简而言之:gpg-agent不会让它失败(除非因某些原因崩溃gpg - 如错误配置或丢失可执行文件,你无法解释).
编辑:我刚刚检查并且在对称模式下,即使gpg-agent配置错误或 gpg-agent可执行文件丢失,gpg2也能正常工作.
这是不相关的,但以防万一:我还验证了当你试图在gpg-agent丢失或配置错误时更改私钥密码时会发生什么:gpg2会报告一个警告,甚至不会要求新的密码,并继续工作.
资料来源: