C# 使用测试证书工作,但使用生产证书时,我获得;请求被中止:无法创建SSL/TLS安全通道。”;

C# 使用测试证书工作,但使用生产证书时,我获得;请求被中止:无法创建SSL/TLS安全通道。”;,c#,rest,certificate,C#,Rest,Certificate,我正在尝试从一个https向另一个https发出post请求。我已订购并安装了一个带有私钥的证书,该证书安装在当前用户和本地计算机的个人和受信任的根证书颁发机构中 我在谷歌上搜索、阅读并尝试了许多来自互联网和其他网站的解决方案。没有什么对我有用。我总是收到“请求被中止:无法创建SSL/TLS安全通道” 我使用的是.NETFramework 4.7.1,代码如下 public async Task<HttpResponseMessage> PostAsync<T>(T a

我正在尝试从一个https向另一个https发出post请求。我已订购并安装了一个带有私钥的证书,该证书安装在当前用户和本地计算机的个人和受信任的根证书颁发机构中

我在谷歌上搜索、阅读并尝试了许多来自互联网和其他网站的解决方案。没有什么对我有用。我总是收到“请求被中止:无法创建SSL/TLS安全通道”

我使用的是.NETFramework 4.7.1,代码如下

 public async Task<HttpResponseMessage> PostAsync<T>(T arg, string uri)
        {
            var handler = new WebRequestHandler();
            var client = new HttpClient(handler);
            try
            {
                var content = CreateJsonContent(arg);
                var processResult = await client.PostAsync(uri, content);
                return processResult;
            }
            catch (Exception exception)
            {
                throw;
            }
            finally
            {
                client.Dispose();
            }
        }
公共异步任务PostAsync(T参数,字符串uri)
{
var handler=新的WebRequestHandler();
var client=新的HttpClient(处理程序);
尝试
{
var content=CreateJsonContent(arg);
var processResult=wait client.PostAsync(uri,内容);
返回处理结果;
}
捕获(异常)
{
投掷;
}
最后
{
client.Dispose();
}
}

非常感谢您的帮助

您在说什么证书?服务器?客户在谷歌搜索之前,给自己一个清晰的总结,说明你正在攻击的问题到底是什么,或者你只是迷失在信息的海洋中。@LexLi谢谢你的评论。我已经安装了客户端证书。我并没有迷失在信息的海洋中,但是我已经用尽了解决方案来解决为什么我能够联系服务测试环境的问题,但是当我尝试用相同的代码联系生产环境时,我得到了这个例外,您远远不是“解决方案用尽”,因为你对这个问题还不够了解。错误消息“请求已中止:无法创建SSL/TLS安全通道”要求您在发生任何故障时深入研究SSL/TLS握手,因为这是了解确切原因的最有效方法。改变谷歌搜索的方向来了解这一点(像Wireshark这样的工具),然后你应该能够继续前进。如果前几个解决方案没有帮助,千万不要盲目地继续尝试。这通常意味着您遇到了一个非常复杂的问题。再次感谢@LexLi,我将关注Wireshark,并尝试了解更多有关SSL/TLS握手的信息,我会随时通知您