CryptographicException 'キーセットが存在しません'、ただしWCF経由のみ 質問する

CryptographicException 'キーセットが存在しません'、ただしWCF経由のみ 質問する

X.509 認証を使用して保護されたサードパーティの Web サービスを呼び出すコードがあります。

コードを直接呼び出すと(ユニットテストを使用)、問題なく動作します。

デプロイされると、このコードは WCF サービス経由で呼び出されます。WCF サービスを呼び出す 2 番目の単体テストを追加しましたが、サード パーティの Web サービスでメソッドを呼び出すと、このテストは失敗しCryptographicException、 というメッセージが"Keyset does not exist"表示されます。

これは、WCF サービスが自分とは別のユーザーを使用してサードパーティの Web サービスを呼び出そうとするためだと推測します。

この問題について、さらに詳しい情報を教えてくれる人はいますか?

ベストアンサー1

これは、IIS ユーザーが証明書の秘密キーにアクセスできないことが原因である可能性が高いです。次の手順に従って設定できます...

  1. スタート → 実行 → MMC
  2. ファイル → スナップインの追加/削除
  3. 証明書スナップインを追加する
  4. コンピュータアカウントを選択し、次へをクリックします
  5. ローカルコンピュータ(デフォルト)を選択し、完了をクリックします。
  6. コンソールルートの左側のパネルで、証明書(ローカルコンピュータ)→個人→証明書に移動します。
  7. おそらく証明書はここにあります。
  8. 証明書を右クリック → すべてのタスク → 秘密キーの管理
  9. ここで秘密鍵の設定を行います。

おすすめ記事