使用与默认密码不同的密码

时间:2013-01-24 12:56:00

标签: c#

我只需要使用一个密码连接到服务器 - “ADH-RC4-MD5”。 我正在寻找一个通用的解决方案,它可以让我检查服务器使用的密码(我是一个配置服务器,充当许多其他应用服务器的客户端,需要连接和获取数据 - 每次都可以一个不同的服务器)。

到目前为止我的流程是:

TcpClient tcpClient = new TcpClient(serverName, port);
SslStream sslStream = new SslStream(tcpClient.GetStream(), false, null, null,                EncryptionPolicy.RequireEncryption);
sslStream.AuthenticateAsClient(HostName);

我在AuthenticateAsClient继续崩溃。原因是一个AS仅与上述密码一起工作。

我已经通过SslScan tool确认了这种情况。

我试图通过策略编辑器输入此密码(命令行中的gpedit.msc) 但又没有运气。

基本上我正在寻找一种从动态代码中使用这种密码的方法。

我有一个可用的Java代码:

sslsocket.setNeedClientAuth(true);
String[] list = new String[1];
list[0] = "ADH-RC4-MD5";
sslsocket.setEnabledCipherSuites(list);

有关c#等效的想法吗?

1 个答案:

答案 0 :(得分:0)

请尝试以下操作:


0)Recheck支持哪些chipers

1)如果您安装了以下安全更新,请检查您的服务器(您需要将其删除http://support.microsoft.com/kb/2898850#AppliesToProducts

如果您使用win 8.1,它将被禁用,不确定其他人。如果您想知道微软为什么要求您禁用RC4,请阅读this

2)我不知道SslStream允许您指定允许的密码套件,但是您可以使用:

http://www.example-code.com/csharp/dh_key_exchange.asp


Java" ADH-RC4-MD5"应该是

Supported Protocol = tls (or ssl version 3)
Cipher Algorithm Type = Rc4, 
Hash Algorithm Type = Md5 128 bit, 
Exchange Algorithm Type = DiffieHellman