2013-04-10 95 views
3

我想通过一个C#.Net应用程序通过SslStream连接到服务器。SslStream设置密码套件

当我尝试使用服务器进行身份验证时,我在客户端接收到一条错误消息,说从传输流接收到意外的EOF或0字节。

在服务器端出现的错误是:引起:javax.net.ssl.SSLHandshakeException:没有共同的密码套件。

在Java中,下面的代码工作设置密码:

SSLSocket sslSocket = (SSLSocket) socket; 
String[] suites = sslSocket.getSupportedCipherSuites(); 
sslSocket.setEnabledCipherSuites(suites); 

会有人能告诉我相当于是在C#是什么?

由于提前,

回答

0

这个问题的发生是因为你用不同的密码,西装呼叫,使通信成功,你必须选择共同诉讼的两端,因为不同套装产生不同的密文

以下是默认提供的套装[你也可以制作你的套装]

C#- 
SslAlgorithms.ALL | 
SslAlgorithms.RSA_3DES_168_SHA | 
SslAlgorithms.RSA_AES_128_SHA | 
SslAlgorithms.RSA_AES_256_SHA | 
SslAlgorithms.RSA_DES_40_SHA | 
SslAlgorithms.RSA_DES_56_SHA | 
SslAlgorithms.RSA_RC2_40_MD5 | 
SslAlgorithms.RSA_RC4_128_MD5 | 
SslAlgorithms.RSA_RC4_128_SHA | 
SslAlgorithms.RSA_RC4_40_MD5 | 
SslAlgorithms.SECURE_CIPHERS | SslAlgorithms.NULL_COMPRESSION 

Java- 
"SSL_RSA_WITH_RC4_128_MD5", 
"SSL_RSA_WITH_RC4_128_SHA", 
"TLS_RSA_WITH_AES_128_CBC_SHA", 
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA", 
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA", 
"SSL_RSA_WITH_3DES_EDE_CBC_SHA", 
"SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA", 
"SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA", 
"SSL_RSA_WITH_DES_CBC_SHA", 
"SSL_DHE_RSA_WITH_DES_CBC_SHA", 
"SSL_DHE_DSS_WITH_DES_CBC_SHA", 
"SSL_RSA_EXPORT_WITH_RC4_40_MD5", 
"SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", 
"SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", 
"SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", 
"SSL_RSA_WITH_NULL_MD5", 
"SSL_RSA_WITH_NULL_SHA", 
"SSL_DH_anon_WITH_RC4_128_MD5", 
"TLS_DH_anon_WITH_AES_128_CBC_SHA", 
"SSL_DH_anon_WITH_3DES_EDE_CBC_SHA", 
"SSL_DH_anon_WITH_DES_CBC_SHA", 
"SSL_DH_anon_EXPORT_WITH_RC4_40_MD5", 
"SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA"