private static X509Certificate2 LoadCertificate(string certificateSubject) { X509Store x509Store = new X509Store(StoreLocation.LocalMachine); X509Certificate2 result; try { x509Store.Open(OpenFlags.ReadOnly); X509Certificate2 x509Certificate = CertificateStore.FindLatestCertificate(x509Store, X509FindType.FindBySubjectName, certificateSubject) ?? CertificateStore.FindLatestCertificate(x509Store, X509FindType.FindBySubjectDistinguishedName, certificateSubject); if (x509Certificate == null) { throw new InvalidOperationException("Unable to load certificate."); } result = x509Certificate; } finally { x509Store.Close(); } return(result); }