opensslを使用してCSRを生成すると、通常の出力がstderrに送信されます。なぜstdoutにないのか分かりません。いくつかの証明書/キーペアの生成をスクリプト化しており、エラー状態を検出できるようにしたいが、これは問題を混同します。
admin@ip-10-248-185-66:~> openssl req -rand $RAND -new -newkey rsa:2048 -nodes -keyout $KEYPATH -subj /C=US/ST=CA/L=LA/O=TS/OU=server/CN=primary -out $CSRPATH -config $CONFPATH
Generating a 2048 bit RSA private key
.........................+++
..................................+++
writing new private key to '$KEYPATH'
-----
admin@ip-10-248-185-66:~> echo $?
0
admin@ip-10-248-185-66:~> openssl req -rand $RAND -new -newkey rsa:2048 -nodes -keyout $KEYPATH -subj /C=US/ST=CA/L=LA/O=TS/OU=server/CN=primary -out $CSRPATH -config $CONFPATH 2>/dev/null
admin@ip-10-248-185-66:~>
ベストアンサー1
ユーザーに送信するメッセージはstderrにあります。標準出力に送られるもの結果命令したopenssl
。
デフォルトでは、または-in
を使用しない-out
限りopenssl
、stdinからデータ(キー、証明書...)を取得し、stdoutにデータを書き込みます(結果はpemファイルを要求するのと似ています)。
シェルでは通常、次のように使用します。
openssl cmd < in.pem > out.pem
ユーザーに送信されたメッセージがout.pem
stderrで終わることを望まないので、メッセージが発行されます。