C#httpClient.SendAsync不发送客户端证书
我有以下代码片段:C#httpClient.SendAsync不发送客户端证书,c#,ssl,dotnet-httpclient,C#,Ssl,Dotnet Httpclient,我有以下代码片段: var url ="https://localhost/Sensor/Sensors/Whitelist"; var cerX509 = new X509Certificate2(@"c:\Client.pfx", "PASSWORD"); var messageHandler = new WebRequestHandler(); messageHandler.ClientCertificateOptions = ClientCertificateOption.Manual
var url ="https://localhost/Sensor/Sensors/Whitelist";
var cerX509 = new X509Certificate2(@"c:\Client.pfx", "PASSWORD");
var messageHandler = new WebRequestHandler();
messageHandler.ClientCertificateOptions = ClientCertificateOption.Manual;
messageHandler.ClientCertificates.Add(cerX509);
var message = new HttpRequestMessage(HttpMethod.Get, url);
var httpClient = new HttpClient(messageHandler);
当我调用httpClient.SendAsync(message)
并收到401时,我试图找出为什么我的客户端证书没有发送到服务器
当我将调用替换为httpClient.GetAsync(url)
时,将发送证书
我可以控制服务器端代码,当我使用httpClient.GetAsync时,我可以使用
X509Certificate2 certificate = request.GetClientCertificate();
当我使用httpClient.SendAsync(message)
时,方法调用request.GetClientCertificate()
返回null
为什么SendAsync不发送证书?您是否正在等待httpclient.SendAsync?@YuvalItzchakov是的。响应是否成功?你调试代码了吗?还有,你是如何创建
消息的?@YuvalItzchakov我根据你的评论更新了这个问题