1
我想通过popen3发送二进制数据,但是出现错误。open3 popen3二进制数据
我发出的shell命令是:
key = File.open('path.key').read
Open3.popen3("openssl pkcs8 -inform DER -outform PEM -passin pass:#{password}") do |stdin, stdout, stderr|
stdin.print(key)
unless (err = stderr.read).empty? then raise err end
stdout.read
end
,其中关键的是二进制文件。 OpenSSL说这个关键是无效的,而我正在挠头。现在
,如果我具有的OpenSSL发出命令直接从文件系统读取它,而不是将其通过标准输入工作正确
"openssl pkcs8 -in path.key -inform DER -outform PEM -passin pass:#{password}"
是否有编码问题,我不知道的?或者这是根本不可能的。由于我将通过web服务接收密钥文件,因此我不必将它们保存到磁盘并使用openssl读取它们,而是在内存中执行整个过程。
谢谢您的时间