C# 使用与默认密码不同的密码
我只需要使用一个密码“ADH-RC4-MD5”连接到服务器。 我正在寻找一个通用的解决方案,使我能够检查服务器正在使用什么密码(我是一个配置服务器,充当许多其他应用程序服务器的客户端,需要连接和获取数据-每次都可以是不同的服务器) 到目前为止,我的流程是:C# 使用与默认密码不同的密码,c#,C#,我只需要使用一个密码“ADH-RC4-MD5”连接到服务器。 我正在寻找一个通用的解决方案,使我能够检查服务器正在使用什么密码(我是一个配置服务器,充当许多其他应用程序服务器的客户端,需要连接和获取数据-每次都可以是不同的服务器) 到目前为止,我的流程是: TcpClient tcpClient = new TcpClient(serverName, port); SslStream sslStream = new SslStream(tcpClient.GetStream(), false,
TcpClient tcpClient = new TcpClient(serverName, port);
SslStream sslStream = new SslStream(tcpClient.GetStream(), false, null, null, EncryptionPolicy.RequireEncryption);
sslStream.AuthenticateAsClient(HostName);
我一直在客户端中崩溃。原因是一个AS只使用上述密码
我已经向警方证实了这一点
我已尝试通过策略编辑器(命令行中的gpedit.msc)输入此密码
但同样没有运气
基本上,我正在寻找一种从代码中动态使用此密码的方法
我有一个可用的Java代码:
sslsocket.setNeedClientAuth(true);
String[] list = new String[1];
list[0] = "ADH-RC4-MD5";
sslsocket.setEnabledCipherSuites(list);
有没有c#等价物的想法?试试下面的方法:
0)支持哪些芯片
1) 如果安装了以下安全更新,请签入服务器(您需要将其删除)
如果您使用win 8.1,它将被禁用,但不确定其他功能。如果您想知道为什么Microsoft鼓励您禁用RC4读取
2) 我不知道SslStream允许您指定允许的密码套件,但是您可以使用:
- (我维护的网站很少使用它)
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
SSL的工作方式是客户端向服务器发送它支持的密码套件列表。(这是通过authenticatesclient
方法完成的。)服务器选择它想要使用的密码套件。如果列表中不包含服务器支持的密码套件,则SSL连接将中止。感谢您的快速回复。但是如果我知道服务器只有一个密码,而我作为一个客户机需要使用它呢?那么你需要找到一个支持这个密码套件的客户机实现。.NET SslStream不能用新的密码套件进行扩展;我相信它只使用Windows提供的任何东西。您的客户端是否真正支持ADH-RC4-MD5
?如果没有,那就是你的问题。