16

stackoverflow で同じトピックに関連する質問がたくさんあることは知っていますが、ここにはいくつかの異なる問題があります。

私はinstaller classtoreserve a portbind it with hashonを使用しました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れます。win7WCF
  • ローカルマシンで使用しているときはいつでも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."
4

3 に答える 3

1

ローカル XP マシンの構成は、仮想マシンの構成とは異なる可能性があります。私が考えることができるシナリオの 1 つは、IT 部門が XP マシンを 1 つの方法で構成してから、自分で仮想マシンを作成し、デフォルト設定 (異なる) を使用するというものです。それが具体的にあなたのシナリオだと言っているのではなく、ただのシナリオです。もう 1 つは、マシンが古い/更新されていないことです。これは、バグの存在であるため、構成の問題ではありません。

いずれにせよ、XP のインストールは、VM が共有しない特性である証明書が無効であると誤って判断していると思います。ファイアウォール設定に関するあなたのコメントも正確かもしれません - Google を試してみてください。

幸運を!

于 2013-06-14T17:08:35.853 に答える
0

WCF サービスを呼び出して、次のセットアップを実行します。

ServicePointManager.ServerCertificateValidationCallback =
            delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };

詳細については、以下を参照してください: .NET の HttpWebRequest/Response で自己署名証明書を使用する

于 2014-08-29T12:26:09.107 に答える