4

Azure サービスに接続するための Web 要求に証明書を追加しようとしています。

私のコードは次のようになります。

string certThumbprint = "‎‎thumbprint";
X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
X509Certificate2Collection certCollection = certStore.Certificates.Find(
     X509FindType.FindByThumbprint, certThumbprint, false);

これで、証明書が存在し、拇印が正しいことを確認できます。ただしcertCollection、空に戻ります。

何か案は?

更新: 証明書ストアを開く方法は次のとおりです

certStore.Open(OpenFlags.ReadOnly);
4

3 に答える 3

17

おそらく、拇印の先頭に 1 つか 2 つの隠し文字があるはずです。MMC の証明書マネージャーから拇印をコピーするときに、これまで何度もこの間違いを犯してきました。この問題の詳細については、こちらのリンクを参照してください。 http://support.microsoft.com/kb/2023835

于 2013-09-02T17:49:00.673 に答える
1

個人証明書ストアの証明書の拇印を取得する安全な方法は、PowerShell の昇格されたインスタンスを使用することです。

PS C:\> dir cert:LocalMachine\My | select Thumbprint, FriendlyName, Subject

于 2021-11-10T23:00:36.240 に答える