Advtools.ADVpki.CertificatesAuthority.LoadCertificate C# (CSharp) Метод

LoadCertificate() приватный Метод

private LoadCertificate ( Org.BouncyCastle.Asn1.X509.X509Name name, System.Security.Cryptography.X509Certificates storeName, System.Security.Cryptography.X509Certificates location ) : X509Certificate2
name Org.BouncyCastle.Asn1.X509.X509Name
storeName System.Security.Cryptography.X509Certificates
location System.Security.Cryptography.X509Certificates
Результат System.Security.Cryptography.X509Certificates.X509Certificate2
        private MSX509.X509Certificate2 LoadCertificate(X509Name name, MSX509.StoreName storeName, MSX509.StoreLocation location)
        {
            if(certificates_.ContainsKey(name))
                return certificates_[name];

            string dn = name.ToString();

            MSX509.X509Store store = new MSX509.X509Store(storeName, location);
            store.Open(MSX509.OpenFlags.ReadOnly);
            var certificates = store.Certificates.Find(MSX509.X509FindType.FindBySubjectDistinguishedName, dn, true);
            store.Close();

            if(certificates.Count <= 0)
                return null;

            MSX509.X509Certificate2 certificate = certificates[0];
            certificates_[name] = certificate;
            return certificate;
        }