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讀取它們,而是在內存中執行整個過程。
謝謝您的時間