2017-03-29 17 views
0

これはよくある質問です。私は他のバージョンと私のバージョンを区別することを望みます。ここで私は-debugオプションを使用して、Tomcatサーバに接続しようとしたときに見ているものです:SSL23_GET_SERVER_HELLOの取得:不明なプロトコル

# openssl s_client -connect example.com:443 -debug 
CONNECTED(00000003) 
write to 0x694230 [0x694ef0] (187 bytes => 187 (0xBB)) 
[...] 
read from 0x694230 [0x69a450] (7 bytes => 7 (0x7)) 
0000 - 15 03 03 00 02 02 28        ......(
15633:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:610: 

答えて

0

注意すべき最初の事は応答が目に見える文字が含まれていないということですので、私はなさそうです非SSL対応ポートに接続します。 OpenSSLのどのバージョンのSSLライブラリを使用しているのかはわかりませんが、間違った行番号であってもhttps://boringssl.googlesource.com/boringssl/+/2214/ssl/s23_clnt.cを見ると便利です。 p [1]は0x3、SSL3_VERSION_MAJOR、p [2]は0x03です。これはTLS1_2_VERSION_MINORです。 p [0]は0x15(小数点以下21桁)です。これはSSL3_RT_ALERTです。つまり、p [3]とp [4]は0と2(コード名には記号名を使用しません)でなければなりません。 p [5]も0x02です。これはSSL3_AL_FATALですが、これはうまく見えません。私はサーバが私の最初の書き込みが気に入らなかったと推測しています。しかし、それは私に別のエラーを与えるはずです。だから、opensslが他に有効なプロトコルを本当に認識しないのだろうかと思います。バージョンの確認:

# openssl version 
OpenSSL 0.9.8j-fips 07 Jan 2009 

はい、少し古いようです。私はより新しいバージョンを見つける必要があると思う。

+0

GnuWinバージョン(http://gnuwin32.sourceforge.net/packages/openssl.htm)は、OpenSSL 0.9.8h 2008年5月28日です。Bah! – samwyse

+1

OpenSSL 0.9.8は、TLS1.2(ワイヤバージョン03 03)または1.1(03 02)を実装していませんでした。 OpenSSL 1.0.1以降では、TLS1.1と1.2が実装されています(現在サポートされているのは1.0.2のみです)。現在のOpenSSLのWindowsビルドが必要な場合は、http://www.slproweb.com/products/Win32OpenSSL.html(注:URLにもかかわらず、64ビット版と32ビット版の両方のWindowsが含まれています)に移動してください。 –

関連する問題