如何为API集成启用TLS 1.0加密

时间:2014-11-05 12:21:28

标签: c# c#-4.0 salesforce

Salesforce将于11月7日针对所有沙箱实例禁用SSL 3.0加密,稍后针对生产实例禁用SSL 3.0加密。更多详情here

在沙盒环境中,我的.Net客户端应用程序使用OAuth 2.0 Web Server流程和salesforce API与salesforce进行通信。我如何验证我的API集成是否使用SSL 3.0 / TLS 1.0 / 1.1加密,如何更改加密协议?我在哪里可以找到这些设置?

更多信息:

我正在使用System.Net.WebRequest类来调用salesforce API。 为了从salesforce获取数据,我正在使用WebClient。

我不确定在WebRequest和Webclient上调用时在何处指定SSL 3.0 / TLS 1.0加密?

  using (var client = new WebClient())
        {
            client.Headers.Add("Authorization", "Bearer " + accessToken);
            string query = "SELECT ID,NAME,LASTMODIFIEDDATE FROM Outage_Schedule_c WHERE IsDeleted = False ORDER BY ID ASC NULLS FIRST".Replace(' ', '+');
            var response = client.DownloadString(instanceUrl + "/services/data/v20.0/query?q=" + query);

            return response ;
        }


 private static string HttpPostRequest(string uri)
   {
       var request = WebRequest.Create(uri);
       request.Method = "POST";
       var resp = request.GetResponse();
       var sr = new System.IO.StreamReader(resp.GetResponseStream());
       return sr.ReadToEnd().Trim();
   }

1 个答案:

答案 0 :(得分:1)

此问题已在Ensuring my application complies with SSL3.0 being disabled?

中的Salesforce StackExchange网站上单独解决

您可以使用System.Net.ServicePointManager.SecurityProtocol明确设置TLS支持。