ストアから証明書を見つけたいのですが、次のコードを使用して証明書を取得できませんでした。常に null を返します。
コードの何が問題になっていますか?
アップデート:
ストア オブジェクトを探索して証明書の拇印をコピーし、拇印の文字列と比較すると、false が返されます。VS2010 IDE での文字列の解釈の問題またはコピー ペーストの問題は、以下の図で確認できると思います。このため、リストから証明書を無視する必要があります。以前にこの種の問題に直面した人はいますか?
ストアから証明書を見つけたいのですが、次のコードを使用して証明書を取得できませんでした。常に null を返します。
コードの何が問題になっていますか?
アップデート:
ストア オブジェクトを探索して証明書の拇印をコピーし、拇印の文字列と比較すると、false が返されます。VS2010 IDE での文字列の解釈の問題またはコピー ペーストの問題は、以下の図で確認できると思います。このため、リストから証明書を無視する必要があります。以前にこの種の問題に直面した人はいますか?
その拇印を持つ証明書がないため、証明書コレクションは空です。小切手:
証明書が現在のユーザーに存在すること
証明書が個人用フォルダに保存されていること
試す:
mmc を使用して上記のことを確認する
使用してX509Store store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
編集:
以下は有用なものを返しますか:
X509Certificate2Collection col = store.Certificates;
foreach (var currCert in col)
{
var currThumbprint = currCert.Thumbprint;
if (thumbprint.ToUpperInvariant() == currThumbprint)
{
x509Certificate2= currCert;
break;
}
}
特に最初または最後に、拇印に目に見えない/長さゼロの文字がある場合があります。提供した拇印の長さを測ります ("35ED.." )。それは表示されるものよりも大きくなければなりません。