C# 如何使用SSL通过套接字发送json消息

C# 如何使用SSL通过套接字发送json消息,c#,.net,winforms,sockets,ssl,C#,.net,Winforms,Sockets,Ssl,好的,我创建了一个C#应用程序,它使用套接字发送原始json格式的消息。然后它侦听响应,然后将响应打印到一个框中。这段代码可以工作,但是我现在需要添加SSL支持,我甚至不知道从哪里开始。我想保持基本逻辑尽可能接近这一点,我只需要一切都是SSL加密。。。你们能不能给我一些建议或想法,告诉我如何最好地解决这个问题?我看到了sslstream类,但我不太确定如何将其集成到现有代码中 这是我的密码: private void test_button_Click(object sender, EventA

好的,我创建了一个C#应用程序,它使用套接字发送原始json格式的消息。然后它侦听响应,然后将响应打印到一个框中。这段代码可以工作,但是我现在需要添加SSL支持,我甚至不知道从哪里开始。我想保持基本逻辑尽可能接近这一点,我只需要一切都是SSL加密。。。你们能不能给我一些建议或想法,告诉我如何最好地解决这个问题?我看到了sslstream类,但我不太确定如何将其集成到现有代码中

这是我的密码:

private void test_button_Click(object sender, EventArgs e)
    {
      System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
      clientSocket.Connect("127.0.0.1", 7777);

      string get_menu_request = "{\"request\": \"get_stuff\"}";
      NetworkStream serverStream = clientSocket.GetStream();
      byte[] outStream = System.Text.Encoding.ASCII.GetBytes(get_stuff_request);
      serverStream.Write(outStream, 0, outStream.Length);
      serverStream.Flush();

      byte[] inStream = new byte[10025];
      serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
      string _returndata = System.Text.Encoding.ASCII.GetString(inStream);

      response_text_box.AppendText(_returndata);
}

正如您所注意到的.Net具有SSLStream类,在MSDN页面的底部有一些示例。其他地方也介绍了这一点,因此我将仅链接到一个示例。“SSL示例”链接提供了如何构建套接字以及如何设置客户端和服务器的完整运行过程。请记住SSL是基于证书的,因此您必须创建一个有效的证书并将其绑定到您的流