public IActionResult FindCertificate(string id) { if (string.IsNullOrWhiteSpace(id)) { id = "test"; } using (var store = new X509Store(StoreLocation.CurrentUser)) { store.Open(OpenFlags.ReadOnly); X509Certificate2 cert = store.Certificates.OfType <X509Certificate2>().AsEnumerable().FirstOrDefault(c => c.Subject.Contains(id, StringComparison.OrdinalIgnoreCase)); if (cert != null) { var dto = CertificateDto.Map(store, cert); return(Ok(dto)); } } return(Ok($"Not found: {id}")); }
public IActionResult Get() { var items = new List <dynamic>(); var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadOnly); var certificates = store.Certificates; foreach (var certificate in certificates) { items.Add(CertificateDto.Map(store, certificate)); } if (items.Any()) { return(Ok(items)); } return(Ok(new { StoreName = store.Name, StoreLocation = store.Location, })); }