问题
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
onwin7
it runs theWCF
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."
回答1:
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!
回答2:
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...
回答3:
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
来源:https://stackoverflow.com/questions/16129151/getting-error-107-neterr-ssl-protocol-error-ssl-protocol-error