SslStream设置密码套件

本文关键字:套件 密码 设置 SslStream | 更新日期: 2023-09-27 18:08:19

我试图从c# . net应用程序通过SslStream连接到服务器。

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

在服务器端出现的错误是:由:javax.net.ssl.SSLHandshakeException: no cipher suites in common.

在Java中,以下代码用于设置密码:

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

有人能告诉我在c#中等效的是什么吗?

提前致谢

SslStream设置密码套件

这个问题的发生是因为您使用不同的密码套装,为了使通信成功,您必须在两端选择通用套装,因为不同的套装产生不同的密文

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

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"