2011-01-06 33 views
0

python 2.7/Win XPでIDEA-CBC-SHAとssl接続する際に問題があります。暗号を選択できません

これはコードです:

ciphers = "IDEA-CBC-SHA" 

ssl_sock = ssl.wrap_socket(self.sock, 
          keyfile = keyfile, 
          certfile = certfile, 
          ciphers = ciphers) 

ssl_sock.connect((address, port)) 

そして、これが結果です:

SSLError: _ssl.c:319: No cipher can be selected. 

私はOpenSSLを照会するとき、私は上場暗号の1

としてIDEA-CBC-SHAを参照してください
OpenSSL> ciphers 
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:IDEA-CBC-SHA:IDEA-CBC-MD5:RC2-CBC-MD5:RC4-SHA:RC4-MD5:RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-RC4-MD5:EXP-RC4-MD5 

私は他の暗号(DES-CBC3-SHA、RC4-SHA、AES256-SHA、AES128-SHA)でテストしましたが、すべてうまくいきました。

私のSSL接続がこの特定の暗号化に失敗する理由は何ですか?

暗号を無効にして有効にする方法はありますか?

ありがとうございます!

+0

IDEAのサポート(およびMDC2とRC5)は、特許のために若干珍しいです。ほとんどのディストリビューションはOpenSSLライブラリをそれなしで構築しています。ほとんどのサーバは当然ディストリビューションに付属しているものを使用しています。ブラウザは同じ理由でそれをサポートしていません。 – SilverbackNet

+0

@SilverbackNetだから、OpenSSlコマンドラインでciphersコマンドを実行するとどういう意味ですか?それはそれがサポートする暗号のリストではありませんか? IDEA-CBC-SHAが表示されている場合は、サポートされていることを確認していませんか?そうでない場合、私のシステムがサポートしている暗号を特定する方法がありますか?ありがとう。 –

答えて

2

私のSSL接続がこの特定の暗号で失敗する理由は何ですか?

おそらく、接続先のサーバーがIDEAをサポートしていない可能性があります。パケットキャプチャがこれを確認します。

EDIT:ssl接続では、クライアントは使用する暗号オプションのリストを提案します。サーバーは、そのリストからサーバーが受け入れ可能なオプションの1つを選択します。サーバがが暗号スイートを選択することができないので、サーバがクライアントが提案したオプションを好まない場合、接続は失敗します。

+0

それは今明らかである...それはまさに問題だった。サーバーはそれをサポートしていません。私はそれがサーバー上でサポートされていると仮定しました。なぜなら、アプリケーション構成ファイルで許可された暗号のリストに入っているからです...ありがとう!! –

関連する問題