証明書シリアル番号はX509証明書のユニークなキーですか? ユーザーは証明書を選択し、プログラムはシリアル番号をプリファレンスに格納します。 次のコードは、選択した証明書を返しますか?シリアル番号はX509証明書のユニークなキーですか?
public static X509Certificate2 GetCertificateBySerialNumber(string serialNumber)
{
X509Certificate2 selectedCertificate = null;
X509Store store = null;
try
{
// get certificate from the store "My", "CurrentUser"
store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection allCertificates = (X509Certificate2Collection)store.Certificates;
X509Certificate2Collection foundCertificates = (X509Certificate2Collection)allCertificates.Find(X509FindType.FindBySerialNumber, serialNumber, false);
// select the first certificate in collection
foreach (X509Certificate2 certificate in foundCertificates)
{
selectedCertificate = certificate;
break;
}
}
finally
{
if (store != null)
{
store.Close();
}
}
return selectedCertificate;
}
UPDATE:jglouieにより示唆されるように私は、証明書の拇印を使用して終了。
サムネイル≠拇印 –
更新日:拇印を使用します。 – isobretatel