「ADH-RC4-MD5」という 1 つの暗号のみを使用してサーバーに接続する必要があります。サーバーが使用している暗号を確認できる一般的なソリューションを探しています(私は、他の多くのアプリケーションサーバーのクライアントとして機能するプロビジョニングサーバーであり、接続してデータを取得する必要があります-可能な限り別のサーバー)。
私がこれまで持っていた流れは次のとおりです。
TcpClient tcpClient = new TcpClient(serverName, port);
SslStream sslStream = new SslStream(tcpClient.GetStream(), false, null, null, EncryptionPolicy.RequireEncryption);
sslStream.AuthenticateAsClient(HostName);
でクラッシュし続けAuthenticateAsClient
ます。その理由は、1 つの AS が前述の暗号でのみ機能しているためです。
これがSslScan ツールの場合であることを確認しました。
ポリシー エディター (コマンド ラインの gpedit.msc) を使用してこの暗号を入力しようとしましたが、やはりうまくいきませんでした。
基本的に、この暗号をコードから動的に使用する方法を探しています。
私は動作するJavaコードを持っています:
sslsocket.setNeedClientAuth(true);
String[] list = new String[1];
list[0] = "ADH-RC4-MD5";
sslsocket.setEnabledCipherSuites(list);
C#に相当するアイデアはありますか?