1 つの VS ソリューションには、クライアント (wpf アプリ) と wcf サービス ライブラリの 2 つのプロジェクトがあります。
サーバー側でメッセージセキュリティとカスタム AspNetMembershipPrivider を使用して、ユーザー名とパスを検証しています。
Windowsセキュリティを使用していないため、サーバーで証明書を使用して安全なチャネルを確立する必要が
ありました.
- この証明書が Personal-Certificates の下の Certificates スナップインに表示されることを確認しました
- その証明書を指すように wcf .config を構成しました。
- VS でクライアント アプリを起動しました (また、VS は wcf lib の wcfhost アプリも
起動しました)。再起動後、wcfhost は次のように不満を述べました。
証明書「CN=xxx」には、有効な秘密鍵が必要です 鍵交換の。プロセスには、プライベートのアクセス権が必要です 鍵。---> System.Security.Cryptography.CryptographicException: キーセットが存在しません
役立つのは、証明書を再作成することだけであり、再起動するまでもう一度です。上で述べたように、私のサービスは私のユーザー アカウント (ローカル管理者) で実行されているため、c:\Users\xxx\AppData\Roaming\Microsoft\Crypto\RSA\ ファイルへのアクセス許可は問題ではないと思います。
私が iis manager を使用して証明書を作成し、makesert などを作成していない理由は、私が持っている共有 osting アカウントですべてが機能することを確認したいからです (自己署名証明書を作成するホスティング パネルにオプションがあります)。
誰でもこれを手伝ってもらえますか? ありがとう