コード例 #1
0
        public static Certificate[] GetCertificatesForOwner(this CertificateStoreClient client, string owner, EntityStatus status)
        {
            CertificateGetOptions options = FullCertData.Clone();

            options.Status = status;
            return(client.GetCertificatesForOwner(owner, options));
        }
コード例 #2
0
        void CreateClients()
        {
            m_domainClient      = m_settings.DomainManager.CreateDomainManagerClient();
            m_addressClient     = m_settings.AddressManager.CreateAddressManagerClient() as AddressManagerClient;
            m_certificateClient = m_settings.CertificateManager.CreateCertificateStoreClient();
            m_dnsRecordClient   = m_settings.DnsRecordManager.CreateDnsRecordManagerClient();
            m_anchorClient      = m_settings.AnchorManager.CreateAnchorStoreClient();
            m_bundleClient      = m_settings.BundleManager.CreateBundleStoreClient();

            if (m_settings.PropertyManager != null)
            {
                m_propertyClient = m_settings.PropertyManager.CreatePropertyManagerClient() as PropertyManagerClient;
            }
            if (m_settings.BlobManager != null)
            {
                m_blobClient = m_settings.BlobManager.CreateBlobManagerClient();
            }
            if (m_settings.MdnMonitorManager != null)
            {
                m_mdnMoniotrClient = m_settings.MdnMonitorManager.CreateMdnMonitorClient() as MdnMonitorClient;
            }
            if (m_settings.CertPolicyManager != null)
            {
                m_certPolicyClient = m_settings.CertPolicyManager.CreateCertPolicyStoreClient() as CertPolicyStoreClient;
            }
        }
コード例 #3
0
 public static IEnumerable <X509Certificate2> EnumerateX509Certificates(this CertificateStoreClient client, int chunkSize)
 {
     foreach (Certificate cert in client.EnumerateCertificates(chunkSize, FullCertData))
     {
         yield return(cert.ToX509Certificate());
     }
 }
コード例 #4
0
        public static IEnumerable <Certificate> EnumerateCertificates(this CertificateStoreClient client, int chunkSize, CertificateGetOptions options)
        {
            if (options == null)
            {
                throw new ArgumentNullException("options");
            }

            if (chunkSize < 1)
            {
                throw new ArgumentException("value was less than 1", "chunkSize");
            }

            long lastID = -1;

            Certificate[] certs;
            while (true)
            {
                certs = client.EnumerateCertificates(lastID, chunkSize, options);
                if (certs.IsNullOrEmpty())
                {
                    yield break;
                }

                for (int i = 0; i < certs.Length; ++i)
                {
                    yield return(certs[i]);
                }
                lastID = certs[certs.Length - 1].ID;
            }
        }
コード例 #5
0
 protected override X509Certificate2Collection Resolve(string name)
 {
     using (CertificateStoreClient client = this.CreateCertClient())
     {
         return(Certificate.ToX509Collection(client.GetCertificatesForOwner(name, EntityStatus.Enabled)));
     }
 }
コード例 #6
0
        //public static void AddCertificate(this CertificateStoreClient client, Certificate cert)
        //{
        //    if (cert == null)
        //    {
        //        throw new ArgumentNullException("cert");
        //    }

        //    client.AddCertificates(new Certificate[] {cert});
        //}

        public static bool Contains(this CertificateStoreClient client, X509Certificate2 certificate)
        {
            if (certificate == null)
            {
                throw new ArgumentNullException("certificate");
            }

            return(client.Contains(certificate.ExtractEmailNameOrName(), certificate.Thumbprint));
        }
コード例 #7
0
        public static Certificate GetCertificate(this CertificateStoreClient client, long certificateID, CertificateGetOptions options)
        {
            Certificate[] certs = client.GetCertificates(new long[] { certificateID }, options);
            if (certs.IsNullOrEmpty())
            {
                return(null);
            }

            return(certs[0]);
        }
コード例 #8
0
        public static bool Contains(this CertificateStoreClient client, string owner, string thumbprint)
        {
            if (string.IsNullOrEmpty(owner))
            {
                throw new ArgumentException("value was null or empty", "owner");
            }
            if (string.IsNullOrEmpty(thumbprint))
            {
                throw new ArgumentException("value was null or empty", "thumbprint");
            }

            Certificate cert = client.GetCertificate(owner, thumbprint, CertificateExtensions.CertInfo);

            return(cert != null);
        }
コード例 #9
0
 public static Certificate[] GetCertificatesForOwner(this CertificateStoreClient client, string owner)
 {
     return(client.GetCertificatesForOwner(owner, FullCertData));
 }
コード例 #10
0
 public static Certificate GetCertificate(this CertificateStoreClient client, string owner, string thumbprint)
 {
     return(client.GetCertificate(owner, thumbprint, FullCertData));
 }
コード例 #11
0
 public static IEnumerable <Certificate> EnumerateCertificates(this CertificateStoreClient client, int chunkSize)
 {
     return(client.EnumerateCertificates(chunkSize, FullCertData));
 }
コード例 #12
0
 public static void RemoveCertificate(this CertificateStoreClient client, long certificateID)
 {
     client.RemoveCertificates(new long[] { certificateID });
 }
コード例 #13
0
 public static X509Certificate2Collection GetX509CertificatesForOwner(this CertificateStoreClient client, string owner)
 {
     return(Certificate.ToX509Collection(client.GetCertificatesForOwner(owner)));
 }