5

Windows 8.1 の新規インストールで、Visual Studio 2012 Express で RestSharp を使用しようとしています。使用しようとしている API は、SSL 用の RC4-SHA のみをサポートしています。証明書は有効です。

var client = new RestClient();
client.BaseUrl = "https://teststore.mybigcommerce.com/api/v2/";
client.Authenticator = new HttpBasicAuthenticator("username", "key");

var request = new RestRequest();
request.Resource = "time.json";

IRestResponse response = client.Execute(bcrequest);

クライアントからエラーが発生し続けます: The request was aborted: Could not create SSL/TLS secure channel。証明書に問題があると思っていましたが、最終的にパケット キャプチャを行い、共通の暗号スイートがないことを発見しました。RC4-SHA はクライアント エンドでは使用できません。Windows 7 をインストールしてまったく同じコードを実行すると、問題は解消されます。

Windows 8.1 の RestSharp で RC4-SHA が利用できないのはなぜですか?

4

2 に答える 2

5

Win 8.1 をインストールした後、アプリケーションで TLS ハンドシェイクが失敗しました。動作しているクライアント ログオンと動作していないクライアント ログオンの Wireshark キャプチャで、暗号スイートが欠落していることが示されました。接続していたサーバーに実際の証明書をインストールすると、問題も解決しました。サーバーには自己署名証明書がありました。

私は最終的にこのマイクロソフトの記事を見つけました:

RC4 は、TLS に対してデフォルトで有効ではなくなりました。アプリケーション (Internet Explorer など) が RC4 に依存している場合、接続に失敗することがある

次の REG コマンドを使用してこれらのレジストリ キーを構成することにより、RC4 サポートを有効にすることができます。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]"Enabled"=dword:ffffffff

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]"Enabled"=dword:ffffffff

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]"Enabled"=dword:ffffffff

于 2013-09-25T13:16:28.460 に答える