ストアからすべてのユーザー X509Certificates を収集し、ユーザーが使用したいものを選択できるようにそれらを提示する C# フォーム (クライアント マシン上で実行) があります。次に、証明書を Web サービスに渡して作業を行います。これはすべてうまくいきます!問題は、ユーザーが X509Certificate パスワードの入力を求められないことですか? ストアから X509Certificate を取得すると、「パスワードを確認する」方法が見つかりません。パスとパスワードが必要な X509Certificate コンストラクターの使用も考えましたが、ストアから取得した X509Certificate からファイル パスと名前を取得する方法がわかりません。ユーザーのパスワードを要求せずに、ストアから証明書を取得するだけで安全ですか?
これは私が店からつかんでいる方法です:
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
for (int i = 0; i < store.Certificates.Count; i++)
{
X509Certificate c = store.Certificates[i];
...//add to GUI for user to pick here....
}
助けてくれてありがとう、スティーブ