具有自签名证书的C#中的SSL TLS通信不起作用

时间:2018-11-13 14:16:25

标签: c# ssl cryptography tls1.2 public-key-encryption

我有一个.pem证书文件,该文件用于在两个服务器之间进行通信。为了进行交流,我已经用C#编写了一个程序,如下所示:

var client = new RestClient("https://aaaaa.com:1111");
client.ClientCertificates = new X509CertificateCollection();
client.ClientCertificates.Add(new X509Certificate(@"C:\Users\aaa\Desktop\bbb.pem"));

var request = new RestRequest("/qqq/www", Method.POST);
request.AddJsonBody(new { create = new { msgBdy="Test" } });
var response = client.Execute(request);

Console.WriteLine(response.StatusCode);
//The underlying connection was closed: An unexpected error occurred on a send.

当我通过SoapUI发布请求时,请求会通过,但是当我尝试通过Postman或上述C#程序发送请求时,则不会。

enter image description here 下面是wireshark的屏幕截图: enter image description here

成功调用API会调用change cipher spec事件,但通过邮递员和c#应用程序则永远不会调用此事件。

我也尝试按照本文中的说明进行操作https://www.codeproject.com/Articles/326574/An-Introduction-to-Mutual-SSL-Authentication,但这还是行不通的。

如何解决此问题。

0 个答案:

没有答案