ノードアプリケーション内のS / MIMEファイルから署名者を抽出したいと思います。私は以下を使って(child_process.spawn()
このコマンドを実行します。
openssl smime -verify -CAfile c_root.pem -inform DER -signer /proc/self/fd/1
入力と出力がソケット(パイプではない)なので動作しません。出力がパイプであっても同じコマンドが機能します。
標準エラー:
Verification successful
Error writing signers to /proc/self/fd/1
40C71EA94D7F0000:error:80000006:system library:BIO_new_file:No such device or address:crypto/bio/bss_file.c:67:calling fopen(/proc/self/fd/1, w)
40C71EA94D7F0000:error:10000080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:75:
一時ファイルなしでこれを行うには?
答え1
回避策はラップして/bin/sh
パイプで接続することですcat
。
sh -c "openssl smime -verify -CAfile c_root.pem -inform DER -signer /proc/self/fd/1 | cat"