【发布时间】:2017-07-07 11:59:45
【问题描述】:
我需要从二进制文件中调用 openssl,我在 popen() 调用中写入了 xml 文本,以调用嵌入 openssl 的脚本
如果我的二进制文件在写入过程中失败,我会遇到问题,openssl 成功结束以写入我的文件,但是当我解码时,我得到一个被截断的文件。
我想在 openssl 调用结束时检查接收到的流是否以“”结尾
上下文:我的二进制文件绝不能写入未加密的文件,我不想 openssl 解码
这里是一个例子,来说明(感谢 cmets,这不是一个有效的陈述,只是一种让你得到一个想法的方法):
echo "blablaf foo bar" | openssl -out file.crypt | grep -E "bar$"
那么,如果 grep 找到了“bar$”,我的 file.crypt 是好的
【问题讨论】:
-
能否提供代码示例和工作流程图?很难理解你需要什么。
-
你说得对,我加了一个样本
-
人们希望
openssl将写入临时文件,并且只有在成功完成写入后自动将其重命名为file.crypt。 -
是的,检查标准输入的结尾是我重命名加密文件的条件,它会转到其他地方
-
为什么不使用 openssl 命令的返回码?如果$?为 0 则 openssl 命令成功结束