Example #1
0
        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);
        }