KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is certificate serial number a unique key for X509 certificate? User selects a certificate, and program stores serial number in preferences. Will the following code return the selected certificate? 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: I ended up using certificate thumbprint, as suggested by jglouie .
Tags (comma-separated)
Save Edits
Cancel