2

現在のユーザー ストアから x.509 証明書にアクセスするアプリケーションに取り組んでいます。アプリケーションが実行可能ファイルとして実行されている場合、これは正常に機能します。

ただし、アプリを Windows サービスとして実行しようとすると、証明書が見つかりません。Windows サービス コンソールの LogOn プロパティを変更して適切なユーザーを設定しようとしましたが、解決しませんでした。

特定のユーザー (管理者) の証明書ストアにアクセスする方法はありますか? ユーザー ストアで証明書を使用する必要があります。それ以外の場合は、ローカル マシン ストアを簡単に使用できます。

どんな助けでも大歓迎です。

この特定のコードを使用して証明書を取得しています。

                        serviceHost.Credentials.ServiceCertificate.SetCertificate(StoreLocation.CurrentUser, StoreName.My, X509FindType.FindBySubjectName, "My-CertificateName");

これは、実行可能ファイルとして実行している場合は正常に機能しますが、Windows サービスとして実行している場合は証明書を見つけることができません。

4

1 に答える 1

1

過去にこのような問題に遭遇したとき、それはユーザーのアクセス許可に関係していましたが、サービスを管理者として実行するように設定し、管理者としてアプリをexeとして実行している場合、私は少し懐疑的です.

とはいえ、次の 2 つのリンクを試してみてください。これらは WCF の観点から書かれていますが、あらゆる種類のサービスに簡単に適用できます。

証明書の操作

方法: WCF から X.509 証明書にアクセスできるようにする

どちらも役に立たない場合は、質問を編集して、x.509 証明書へのアクセスに使用しているコードを含めてください。

于 2010-06-17T13:01:54.173 に答える