Click here to Skip to main content
14,429,010 members
Rate this:
Please Sign up or sign in to vote.
See more:
I get this error for a specific website, that they announced they made some changes a couple months ago. Now when I check it through c#.... something is not right. The other websites I check are working allright with this code.
Can someone elucidate it for me, please?
{"The request was aborted: Could not create SSL/TLS secure channel."}



I am using this code:
// I google it and find this 3lines as being helpful - THEY ARE NOT HELPING AT ALL
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.DefaultConnectionLimit = 9999;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; 
//(In my VS2010, I only see Ssl3 and Tls,that's it - this may be the cause?)

            HttpWebRequest request;
            HttpWebResponse response = null;
            Stream stream = null;
            request = (HttpWebRequest)WebRequest.Create("https://www.MyWebsiteToCheck.com/");
            request.UserAgent = "Foo";
            request.Accept = "*/*";

            request.UseDefaultCredentials = true;
            request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

//{"The request was aborted: Could not create SSL/TLS secure channel."}
//and response is null.
            response = (HttpWebResponse)request.GetResponse();//<<<here it breakes
            stream = response.GetResponseStream();

            if (stream != null) stream.Close();
            if (response != null) response.Close();

Thank you.

What I have tried:

.................................................................................
Posted
Updated 9-Sep-19 12:46pm
Rate this:
Please Sign up or sign in to vote.

Solution 1

I think i found the solution :
TLS 1.2 and .NET Support: How to Avoid Connection Errors - Perficient Blogs[^]

//in .NET 4.0, TLS 1.2 is not supported, but if you have .NET 4.5 (or above) installed on the system
//then you still can opt in for TLS 1.2 even if your application framework doesn't support it.
//The only problem is that SecurityProtocolType in .NET 4.0 doesn't have an entry for TLS1.2,
//so we'd have to use a numerical representation of this enum value:
//ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
//instead of:
// ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;

So it was a .NET problem after all. Hmmm.
I am leaving this here with the result i find, maybe it will help others too.
   
v2
Comments
CoolBeans1 12-Sep-19 15:08pm
   
Perfect, this resolved the issue..
Rate this:
Please Sign up or sign in to vote.

Solution 2

<pre>ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3 |
                                                   SecurityProtocolType.Tls | SecurityProtocolType.Tls11;
   
Comments
CHill60 26-Mar-19 9:01am
   
Did you read the OP's comments in the code .. "//(In my VS2010, I only see Ssl3 and Tls,that's it - this may be the cause?)"
and in their solution "in .NET 4.0, TLS 1.2 is not supported,"
so suggesting that they use it when they can't is not helpful
Rate this:
Please Sign up or sign in to vote.

Solution 3

Add this line
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback = (snder, cert, chain, error) => true;
It working.
   
Comments
Dave Kreskowiak 9-Sep-19 18:27pm
   
The OP answered this themselves last year. Did you even read the solution before posting?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 5,288
Richard MacCutchan 1,959
phil.o 1,280
Patrice T 1,267
MadMyche 1,185



CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100