获取错误107(net :: ERR_SSL_PROTOCOL_ERROR):SSL协议错误

Ami*_*Pal 16 c# ssl windows-xp httpcfg.exe visual-studio-2010

我知道在stackoverflow上有很多与相同主题相关的问题,但在这里我有一些不同的问题:

我用的installer classreserve a portbind it with hashwin7/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
}
Run Code Online (Sandbox Code Playgroud)

代码没有问题setup project.一切正常,除了以下几点:

  • 每当我安装exewin7它运行WCF成功的web服务.
  • 每当我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."
Run Code Online (Sandbox Code Playgroud)

Ty *_*row 1

本地 XP 计算机的配置可能与虚拟计算机的配置不同。我能想到的一种情况是,IT 部门会以一种方式配置 XP 计算机,然后您自己创建一个虚拟机,它只是使用默认设置(有所不同)。我并不是说这就是你的具体场景,只是一个场景。另一个问题是机器已经过时/未更新,这与其说是配置问题,不如说是存在错误。

无论如何,我想说的是,您安装的 XP 错误地确定了证书无效,这是虚拟机所不具备的特征。您对防火墙设置的评论也可能是准确的 - 尝试谷歌。

祝你好运!