Getting Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error

7.5k Views Asked by At

I know there are a lot of questions related to same topics at stackoverflow, but here i have some different issues:

I used the installer class to reserve a port and bind it with hash on win7/Winxp:

if (Environment.OSVersion.Version.Major > 5)
{
    startInfo.Arguments = @"/c netsh http add urlacl url=https://127.0.0.1:8083/ user=EVERYONE";
    netsh http add sslcert ipport=127.0.0.1:8083 certhash=df03c4b0b32f3302a3b70abe6b5dfd864d0986a5 appid={00112233-4455-6677-8899-CCBBCCDDEEFF} clientcertnegotiation=enable;
}
else
{
    startInfo.Arguments = @"/c httpcfg set urlacl /u https://127.0.0.1:8083/";
    httpcfg set ssl -i 127.0.0.1:8083 -h df03c4b0b32f3302a3b70abe6b5dfd864d0986a5 -f 2
}

There is nothing wrong with the code and setup project. Everything works fine except following points:

  • whenever i installed the exe on win7 it runs the WCF webservice successfully.
  • Whenever i am using WinXP(SP#) on my local machine it throws an Error:

    Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error

  • But when i am using teamviewer to login in any WinXp virtual machine, It runs successfully.

How can it be possible, I tried it several time but got the same result. It is running on Xp(running on VM) but not on real XP machine?

Did i wrote something wrong to bind and reserve the port? Does firewall plays some role here?

I also confirmed it with httpcfg query ssl and the hash was binded successfully with the port.

Any help will be appreciable.

IMO this command is not working:netsh http add urlacl url=https://127.0.0.1:8083/ user=EVERYONE

I tried to find out the error with fiddler and it says:

"Failed to secure existing conection for <ipaddress>.  Authentication failed because the remote party has closed the transport stream."
3

There are 3 best solutions below

0
On

This might look stupid but some aplications can be using SSL ports like Team Viewer or even Skype. Try to shut down this apps in case you have some of them running on your machine!

Sorry, it's just a guess :) but I hope it helps...

0
On

Do the following SetUp berfoe calling your WCF service

ServicePointManager.ServerCertificateValidationCallback =
            delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };

for more detatils refer to : Using a self-signed certificate with .NET's HttpWebRequest/Response

0
On

The configuration of the local XP machine is likely different from that of the Virtual one. One scenario I can think of is that an IT department would configure the XP machine one way and then you create a virtual machine yourself, it's just using the default settings (which differ). I'm not saying that's your scenario specifically, just a scenario. Another is that the machine is outdated/unupdated which isn't so much of a configuration problem as it is the existence of bugs.

At any rate, I'd say that your installation of XP is incorrectly determining that the certificate is invalid, a characerstic the VM doesn't share. Your comment about firewall settings may be accurate as well - try Google.

Good luck!