OpenSSL の GnuWin32 バージョンを使用して、いくつかの WebSphere MQ キュー マネージャーから証明書を取得しようとしています。すべての試行で、手動で ENTER を押すまで、OpenSSL が接続を開いたままにします。
this SO questionおよびthis SO question に従って、さまざまなテキストをコマンドにパイプしようとしましたが、うまくいきませんでした。
理想的には、入力ファイルまたはパイプされたテキストが EOF に達すると、OpenSSL は接続を閉じます。
例:
echo QUIT | openssl s_client -connect qmgrhost:1414 -showcerts
openssl s_client -connect qmgrhost:1414 -showcerts < responsefile.txt
コマンドを使用した例QUIT
は、HTTP サーバーにアクセスしているため、他の SO の質問で機能しているように見えます。これは私の場合は WMQ であるため、接続ハンドシェイクが異なり、送信QUIT
(または私が試したもの) を行っても接続を閉じることができません。QMgrが接続を窒息させて切断するまで、おそらく巨大なファイルをフィードできますが、サーバーに対してできるだけ礼儀正しくしようとしています。キーボードから ENTER を入力する現在の方法では、接続ごとに FDC ダンプがそのまま発生し、あらゆる種類のアラームが発生し、Tivoli の担当者が私を怒らせています。
したがって、最良のケースは、QMgr が適切な拒否として解釈し、接続を閉じる文字列または 16 進値です。2 番目に良いケースは、これをスクリプト化できる方法であり、この機能を自動化するコストとして FDC ファイルを受け入れます。
更新: 2013 年 5 月 31 日
以来、これが完全に機能する AIX に移動しました。s_client は、スクリプトで実行して改行をパイプすると、接続を確立した直後にハングアップします。ただし、Windows 用のソリューションが必要です。Cygwin バージョンが機能するか、同じ問題があるかどうかは誰にもわかりませんか? Windows シグナリング/POSIX の問題ですか? コードバグ?