错误Paypal沙箱:请求已中止:无法创建SSL/TLS安全通道
问题描述:
我收到错误“请求已中止:无法创建SSL/TLS安全通道”。在沙箱的情况下,但这与我的现场凭证一起使用。错误Paypal沙箱:请求已中止:无法创建SSL/TLS安全通道
这里是代码片段
var uri = new Uri(url);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var request = WebRequest.Create(uri);
var encoding = new UTF8Encoding();
var requestData = encoding.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.Timeout = (300 * 1000); //TODO: Move timeout to config
request.ContentLength = requestData.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(requestData, 0, requestData.Length);
}
var response = request.GetResponse();
string result;
using (var reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
{
result = reader.ReadToEnd();
}
return result;
答
的问题是C#默认为SSL3尝试连接到PayPal的服务器,贝宝不接受的时候。 PayPal至少需要(更安全的)TLS 1.2。
您设置此通过下面的代码:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
添加的代码行提到,但仍同样的错误。如果我在放置代码时犯了错误,请参阅修改后的代码。 –
哇..它的工作对不起我的错误..我没有建立它反映在我的项目......非常感谢 –
啊,这是个好消息,我从生产代码中解除了这一行,所以我有点不知所措可能。 :) –