[解決済み] CryptographicException「キーセットが存在しない」、ただしWCF経由に限る
2022-03-03 12:36:49
質問内容
X.509認証を使用してセキュリティ保護されたサードパーティのWebサービスを呼び出すコードがあります。
このコードを直接(ユニットテストを使って)呼び出すと、何の問題もなく動作します。
デプロイされると、このコードはWCFサービス経由で呼び出されます。私はWCFサービスを呼び出す2番目のユニットテストを追加しましたが、これは
CryptographicException
メッセージ
"Keyset does not exist"
サードパーティのウェブサービスのメソッドを呼び出したとき。
これは、私のWCFサービスが、私とは異なるユーザーを使用してサードパーティーのWebサービスを呼び出そうとするためだと推測しています。
この問題について、どなたか補足説明をしていただけませんか?
解決方法を教えてください。
それはおそらく、証明書のパーミッションの問題でしょう。
ユニットテストを実行する場合、自分のユーザーコンテキストの下でそれらを実行することになりますが、(どのストアで クライアント 証明書の秘密鍵にアクセスすることができます。
しかし、WCFサービスがIISの下でホストされている場合、またはWindowsサービスとして、それはサービスアカウント(ネットワークサービス、ローカルサービスまたは他の制限されたアカウント)で実行されている可能性が高いです。
秘密鍵に適切な権限を設定し、そのサービスアカウントにアクセスできるようにする必要があります。MSDNでは 詳細はこちら
関連
-
[解決済み] app.configのマッピングがないアセンブリのapp.configの再マッピングを考慮する。
-
[解決済み] 名前 'ConfigurationManager' は、現在のコンテキストに存在しません。
-
[解決済み] C++/CLIにおけるキャレット('^')の意味は?
-
[解決済み] VB.NETで線を引く方法
-
[解決済み] 1は有効なWin32アプリケーションではありません "を解決するには?
-
[解決済み] 埋め込みリソーステキストファイルの読み方
-
[解決済み] INotifyPropertyChangedの実装 - より良い方法は存在するか?
-
[解決済み] HashSetとListの性能比較
-
[解決済み] SSL/TLSセキュアチャネルの信頼関係を確立できなかった -- SOAP
-
[解決済み】Guidが全て0(ゼロ)ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] WCF エラーの解決。このサービスのメタデータパブリッシングは現在無効になっています。
-
[解決済み] 16進数値0x00は無効な文字です。
-
[解決済み] VS2017/2015 で .xproj ファイルを開く方法
-
[解決済み] Visual Studioの "ターゲットフレームワーク "が見つからない
-
[解決済み] 到達不能なホストに対してソケット操作を行おうとした
-
[解決済み] AssemblyInfo.csは何に使うのですか?
-
[解決済み] DelphiとDelphi.NETの違いについて
-
[解決済み] Moq Callbackについて教えてください。
-
[解決済み] .net の OOM 問題を解決する必要があります。