stackoverflow で同じトピックに関連する質問がたくさんあることは知っていますが、ここにはいくつかの異なる問題があります。
私はinstaller class
toreserve a port
と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
。次の点を除いて、すべて正常に動作します。
- をインストールするたびに、Web サービスが正常に実行さ
exe
れます。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."