RestSharp怎么可能在test环境中工作,而不是在我的本地机器上呢?



我有一个非常奇怪的问题,现在花了我一天的时间。

错误异常。

System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at RestSharp.Http.WriteRequestBody(HttpWebRequest webRequest)
at RestSharp.Http.PostPutInternal(String method)
at RestSharp.RestClient.Execute(IRestRequest request, String httpMethod, Func`3 getResponse)

我的代码可以在test环境中工作,但不能在本地环境中工作。代码在过去是有效的,没有任何改变。我在SoapUi的本地机器上复制了rest调用,它正在工作。导入ssl证书等我的本地机器运行的是Windows 7和测试环境Windows Server 2008。这两个环境都在运行。net Framework 4.5。

我在网上搜索了一个解决方案,我找到了很多,例如请求被终止:无法创建SSL/TLS安全通道http://robertgreiner.com/2013/03/could-not-establish-trust-relationship-for-the-ssl-tls-secure-channel/

我尝试了可能的解决方案,但我没有解决这个问题。有人知道答案吗?

非常感谢。Jordy

似乎在您的测试环境和另一个服务器握手期间出现了问题。

在调用服务器之前先试一下:

ServicePointManager.ServerCertificateValidationCallback =
                        (s, certificate, chain, sslPolicyErrors) => true;

PS:上面的行将禁用SSL验证。

ssl证书的加密密钥过低/坏,因此Windows在几次Windows更新后不再接受它。解决方案是使用更高的加密密钥更新ssl证书。