private StoreName RetornaStoreName(CertSignStoreName storeName) { switch (storeName) { case CertSignStoreName.AddressBook: return(StoreName.AddressBook); case CertSignStoreName.AuthRoot: return(StoreName.AuthRoot); case CertSignStoreName.CertificateAuthority: return(StoreName.CertificateAuthority); case CertSignStoreName.Disallowed: return(StoreName.Disallowed); case CertSignStoreName.My: return(StoreName.My); case CertSignStoreName.Root: return(StoreName.Root); case CertSignStoreName.TrustedPeople: return(StoreName.TrustedPeople); case CertSignStoreName.TrustedPublisher: return(StoreName.TrustedPublisher); default: return(StoreName.My); } }
private List <DigitalCertificate> GetCertificates(CertSignStoreName storeName, CertSignStoreLocation storeLocation) { try { var store = new X509Store(RetornaStoreName(storeName), RetornaStoreLocation(storeLocation)); store.Open(OpenFlags.MaxAllowed); if (store != null) { var collection = store.Certificates; var listaCertificados = collection.Find(X509FindType.FindByKeyUsage, X509KeyUsageFlags.DigitalSignature, true); var list = new List <DigitalCertificate>(); foreach (var i in listaCertificados) { if (!string.IsNullOrEmpty(i.FriendlyName)) { list.Add(new DigitalCertificate { FriendlyName = i.FriendlyName, Name = i.IssuerName.Name, Certificate = i, PublicKey = i.GetPublicKey() }); } } return(list); } return(null); } catch (Exception ex) { MessageBox.Show(ex.Message); return(null); } }
public DigitalCertificate[] GetArrayCertificates(CertSignStoreName storeName, CertSignStoreLocation storeLocation) { var lista = GetCertificates(storeName, storeLocation); return(lista.ToArray()); }
public List <DigitalCertificate> GetListCertificates(CertSignStoreName storeName, CertSignStoreLocation storeLocation) { return(GetCertificates(storeName, storeLocation)); }