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

Amit Pal picture Amit Pal · Apr 21, 2013 · Viewed 7.1k times · Source

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."

Answer

Ty Morrow picture Ty Morrow · Jun 14, 2013

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!