public Certificate ByFriendlyName() { foreach (IX509Store store in _stores.Select(storeName => _storeFactory(storeName))) { try { store.Open(OpenFlags.ReadOnly); IX509Certificate2 certificate = store .Certificates .FirstOrDefault(cert => cert.FriendlyName.Equals(_value, StringComparison.OrdinalIgnoreCase)); if (certificate != null) { return(new Certificate(certificate, store.Name)); } } finally { store.Close(); } } return(null); }
public Certificate ByThumbprint() { foreach (IX509Store store in _stores.Select(storeName => _storeFactory(storeName))) { try { store.Open(OpenFlags.ReadOnly); IX509Certificate2 certificate = store.Certificates .Find(X509FindType.FindByThumbprint, _value, false) .FirstOrDefault(); if (certificate != null) { return(new Certificate(certificate, store.Name)); } } finally { store.Close(); } } return(null); }
public Certificate(IX509Certificate2 certificate, string storeName) { _certificate = certificate; StoreName = storeName; }