我一直收到以下异常:
System.IO.IOException:解密操作失败,请参阅内部异常。
System.ComponentModel.Win32Exception(0x 80090326):收到的消息不是预期的消息或格式不正确。
- 内部异常堆栈跟踪结束-
我使用一个简单的发布请求,使用TLS 1.3和绑定到Windows Server 2022上IIS的证书发送一封邮件。当我访问一个需要证书验证的特定网站时,就会发生这种情况。
关于如何解决此问题,您有什么建议吗?这是否与HttpClient
未使用正确的证书有关?如果是,我可以采取哪些步骤来运行验证?
谢谢.
下面是我使用的代码:
var client = _httpClientFactory.CreateClient();
HttpContent content = new StringContent(message, Encoding.UTF8, "application/soap+xml");
using (var response = await client.PostAsync("host url", content))
{
if (response.IsSuccessStatusCode)
{
string result = await response.Content.ReadAsStringAsync();
//Return result
return (result);
}
else
{
return ( string.Empty);
}
}
字符串
1条答案
按热度按时间nwsw7zdq1#
我发现了问题所在。你的一条评论指出了httpclient可能使用不同的证书,这是事实。显然,HttpClient使用自己的证书来发送post请求。我不得不修改代码,将手动证书添加到HttpClient服务器,这让事情正常工作。我希望微软能更多地记录这一点。无论如何,感谢@Charlieface给我一个提示,告诉我要找什么!我还在Add client certificate to .NET Core HttpClient中找到了有用的帮助