如何将SSL加密添加到可用的TCP / IP套接字

时间:2016-11-11 03:48:59

标签: c# sockets ssl sslstream

我要升级使用没有SSL的TCP连接的系统。我想在当前连接中添加SSL加密,而不会改变代码。这就是之前代码中的内容。

IPAddress ipAddress = IPAddress.Parse(IpAddress);
IPEndPoint remoteEP = new IPEndPoint(ipAddress, Port);

// Create a TCP/IP socket.
var client = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);

client.BeginConnect(remoteEP,new AsyncCallback(ConnectCallback), client);

我试过的是这个,

IPAddress ipAddress = IPAddress.Parse(IpAddress);
IPEndPoint remoteEP = new IPEndPoint(ipAddress, Port);

// Create a TCP/IP socket.
var client = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);

client.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), client);
while (!client.Connected) { }
NetworkStream stream = new NetworkStream(client);
SslStream ssl = new SslStream(stream, false, ValidateServerCertificate);

但这不是我所需要的。至少ValidateServerCertificate代表未被调用。
我的代码出了什么问题?

重要
我无法在更改期间删除名为client的此套接字,因为它会影响许多其他代码。

0 个答案:

没有答案