encryption - 解密文件时如何正确捕获 gpg 输出?
问题描述
我已经为此工作了一段时间。我有一个在 docker 容器内运行的 bash 脚本,用于解密特定文件路径下的 gpg 文件。
我想捕获 gpg 的输出以确定:
- 是否解密成功
- 是否未能验证文件发件人的签名
我了解到,打印到终端的 gpg 消息不会发送到 stdout 或 stderr,所以我需要找到另一种方法来捕获它,并想出了这个:
script --return -qc 'gpg --status-fd --pinentry-mode=loopback --passphrase="'"$password"'" --output "'"$dst"'" --decrypt "'"$src"'"' -t output.txt
然后,我可以 cat 在 output.txt 文件中,并 sed 获取返回码,并查找任何感兴趣的错误。
可悲的是。--status-fd 标志似乎撤消了 --pinentry-mode=loopback,并且密码不再传递给它,它会提示输入它。
有没有:
- 一种不同的方式来捕获不会破坏我需要的标志的输出
- 另一种聪明的方法是我可以解密文件并以不同的方式传递密码来解决它?
或者其他建议?
解决方案
推荐阅读
- r - 查找一列中的值的平均值,这些值在另外两列中共享一个共同值
- php - 在 opencart 版本 3.0.2.0 中发行货币 maj
- c++ - OpenCV 未处理的异常
- python-3.x - 如何在 plotly.express 中添加痕迹
- python - 如何在 python-pptx 中为 xyscatter 图表设置图表的字体大小、轴值和轴标题
- python - 加密货币中的 macd 寻址脚本
- mysql - 错误问题 1582 Incorrect parameter count in call to native function 'ISNULL'
- javascript - jQuery - 图像上传器仅在有类时运行参数
- mysql - MYSQL 如果更新为重复,则更新查询删除
- assembly - BIOS 中断如何与保留的硬件中断解除冲突?