3

netTcpBindingを使用し、Windowsフォームベースのアプリケーションに直接接続するWCFサービスを保護する必要があります。トランスポート層で固定するだけで済みます。

私はそれがローカルで機能していることをかなり確信しています。つまり、サービスをローカルで実行し、クライアントと接続することができます。

ローカルマシンではなくサーバーで実行されるようにサービスをセットアップしようとすると、証明書の問題が発生します。エラーログには、証明書に鍵交換が可能な秘密鍵が必要であり、プロセスに秘密鍵へのアクセス権が必要であることが示されています。

makecertを使用して作成された開発証明書を使用しています。

makecert -n "CN=MY COMPANY DEBUG" -pe -sky exchange Debug.cer

私は証明書の使用に非常に慣れていないことを認めなければなりません。誰かがこれを修正する方法、または証明書を使用してnetTcpBindingを使用してWCFサービスにトランスポートセキュリティを追加するためのより良い方法についてのポインタを持っていますか?

ありがとう。

4

2 に答える 2

6

これを試して:

makecert -n "CN=MY COMPANY DEBUG" -pe -sky exchange Debug.cer -sv Debug.pvk
pvk2pfx -pvk Debug.pvk -spc Debug.cer -pfx Debug.pfx

次に、.cerファイル(公開鍵)、. pvk(秘密鍵)、および.pfx(両方との鍵交換)の3つのファイルが作成されます。次に、次のように.pfxファイルをサーバーにインストールできます。

certutil -p "" -importPFX Certificates\Debug.pfx

クライアント側では、.cerファイルをインストールするだけで済みます。これらのインストール(上記の.cerおよび.pfx)は、証明書MMCスナップイン([開始]、[実行]、[MMC.exe]の順に実行し、現在のマシンの証明書スナップインを追加する)からも実行できます。

于 2009-05-21T15:01:51.443 に答える
0

これ(httpsの場合をカバーしていますが、それでも役立つ場合があります)とこれを読んでください。

トランスポートレベルのセキュリティについて話しているので、サーバープロセスは、それを提供するために使用している証明書について何も知らないはずです。

于 2009-05-21T15:00:10.137 に答える