我知道 stackoverflow 上有很多与相同主题相关的问题,但这里我有一些不同的问题:
我用的是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
}
代码没有任何问题并且setup project
。除了以下几点之外,一切正常:
- 每当我安装
exe
on win7
它运行WCF
网络服务成功。
-
每当我使用WinXP(SP#)
在我的本地机器上它抛出一个错误:
错误 107 (net::ERR_SSL_PROTOCOL_ERROR):SSL 协议错误
但是当我使用 teamviewer 登录任何WinXp
虚拟机,运行成功。
怎么可能,我试了好几次,结果都是一样。它在Xp上运行(在VM上运行)但不在真正的XP机器上运行?
我是否在绑定和保留端口时写了错误的内容?防火墙在这里发挥作用吗?
我也确认了httpcfg query ssl
并且哈希已成功与端口绑定。
任何帮助都将非常重要。
IMO 这个命令不起作用:netsh http add urlacl url=https://127.0.0.1:8083/ user=EVERYONE
我试图找出错误fiddler
它说:
"Failed to secure existing conection for <ipaddress>. Authentication failed because the remote party has closed the transport stream."
本地 XP 计算机的配置可能与虚拟计算机的配置不同。我能想到的一种情况是,IT 部门会以一种方式配置 XP 计算机,然后您自己创建一个虚拟机,它只是使用默认设置(有所不同)。我并不是说这就是你的具体情况,只是一个场景。另一个问题是机器已经过时/未更新,这与其说是配置问题,不如说是存在错误。
无论如何,我会说您安装的 XP 错误地确定证书无效 http://support.microsoft.com/kb/314864,这是虚拟机所不具备的特征。您对防火墙设置的评论也可能是准确的 - 尝试谷歌。
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)