2010-11-18 8 views
1

アプリケーション(SharpSSHを使用するC#プログラム)があり、現在ログインしていないユーザーの資格情報を使用して実行しようとすると、 「キーセットが存在しません」というCryptographicExceptionエラーが発生しました。ユーザーがログインしていないと「keysetが存在しません」というエラーが表示される

現在ログインしているユーザーの資格情報でアプリケーションを実行すると、すべて正常に動作します。

なぜこのようなことが起こり得るのでしょうか?

答えて

1

他のすべてのことは同じです(あなたが資格情報にアクセスする権利を持っているように)私は必要とする資格情報がユーザーのハイブ/プロファイルに格納されていると推測しています。 SharpSSHが使用するcertificate store(または、SharpSSHを使用しているかどうかはわかりません。[codeplexには1つあり、sourceforgeには1つあります])。

資格情報がHKEYUserに関連付けられていると仮定すると、修正するには、LoadUserProfileというユーザーのプロファイルを読み込む必要があります。つまり、ユーザー用のセキュリティトークンを用意する必要があります(つまり、ログインする必要がありますが、対話的にする必要はありません)。あるいは、ユーザーに縛られていない証明書ストアに変更することもできます。

関連する問題