GnuWin32 openssl s_client conn do serwera WebSphere MQ nie zamykającego się w EOF, zawiesza się

Próbuję użyć wersji OpenSSL GnuWin32 do pobrania certyfikatów z kilku menedżerów kolejek WebSphere MQ. Wszystkie próby powodują, że OpenSSL utrzymuje otwarte połączenie, dopóki nie nacisnę ENTER.

Próbowałem przesłać różne polecenia do poleceniajak na to pytanie SO ito pytanie TAK, ale bez szczęścia.

W idealnej sytuacji OpenSSL zamknie połączenie, gdy plik wejściowy lub tekst potokowy trafi na EOF.

Przykłady:

echo QUIT | openssl s_client -connect qmgrhost:1414 -showcerts 

openssl s_client -connect qmgrhost:1414 -showcerts < responsefile.txt

Przykłady używająceQUIT wydaje się działać w drugim pytaniu SO, ponieważ trafiają one na serwer HTTP. Ponieważ w moim przypadku jest to WMQ, uzgadnianie połączenia jest inne i wysyłanieQUIT (lub cokolwiek innego, co próbowałem) nie powoduje zamknięcia połączenia. Prawdopodobnie mógłbym podać mu gigantyczny plik, dopóki QMgr nie zakrztusił się i nie zabił połączenia, ale staram się być jak najbardziej uprzejmy dla serwera. Obecna metoda dostarczania ENTER z klawiatury powoduje zrzuty FDC na każdym połączeniu, uruchamiając wszystkie rodzaje alarmów i sprawiając, że Tivoli się na mnie wścieknie.

Tak więc najlepszym przypadkiem byłaby wartość ciągu lub wartości szesnastkowej, a QMgr interpretuje jako wdzięczne odrzucenie i zamyka połączenie. Drugi najlepszy przypadek tokażdy metoda, która pozwala na skryptowanie i zaakceptujemy pliki FDC jako koszt automatyzacji tej funkcji.

AKTUALIZACJA: 31 maja 2013 r
Od tego czasu przeniosłem się do AIX, gdzie to działa idealnie. S_client rozłącza się natychmiast po nawiązaniu połączenia, gdy jest uruchamiany w skrypcie i wstawia do niego nową linię. Jednak nadal chciałbym mieć rozwiązanie dla Windows. Czy ktoś wie, czy wersja Cygwin działa, czy ma ten sam problem? Czy jest to problem sygnalizacji systemu Windows / POSIX? Błąd kodu?

questionAnswers(1)

yourAnswerToTheQuestion