コード例 #1
0
ファイル: CertPolicyIndex.cs プロジェクト: ssavarala/nhin-d
        /// <summary>
        /// Indexer for <see cref="IPolicyExpression"/>s.
        /// </summary>
        /// <param name="domain"></param>
        /// <returns></returns>
        public IList <IPolicyExpression> this[string domain]
        {
            get
            {
                IList <IPolicyExpression> matches;
                using (CertPolicyStoreClient client = this.CreateClient())
                {
                    if (m_incoming) //incoming
                    {
                        matches = client.GetIncomingPoliciesByOwner(domain, m_use)
                                  .Select(p => GetPolicyExpression(p.Data))
                                  .Select(p => p)
                                  .Where(p => p != null)
                                  .ToList();
                    }
                    else // outgoing
                    {
                        matches = client.GetOutgoingPoliciesByOwner(domain, m_use)
                                  .Select(p => GetPolicyExpression(p.Data))
                                  .Select(p => p)
                                  .Where(p => p != null)
                                  .ToList();
                    }
                }

                return(matches);
            }
        }
コード例 #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 bool Contains(this CertPolicyStoreClient client, string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("value was null or empty", "name");
            }
            CertPolicy policy = client.GetPolicyByName(name);

            return(policy != null);
        }
コード例 #4
0
        /// <summary>
        /// Indexer for <see cref="IPolicyExpression"/>s.
        /// </summary>
        /// <param name="domain"></param>
        /// <returns></returns>
        public IList <IPolicyExpression> this[string domain]
        {
            get
            {
                IList <IPolicyExpression> matches;

                using (CertPolicyStoreClient client = CreateClient())
                {
                    matches = client.GetIncomingPoliciesByOwner(domain, CertPolicyUse.PUBLIC_RESOLVER)
                              .Select(p => GetPolicyExpression(p.Data))
                              .Select(p => p)
                              .Where(p => p != null)
                              .ToList();
                }

                return(matches);
            }
        }
コード例 #5
0
        public static IEnumerable <CertPolicyGroup> EnumerateCertPolicyGroups(this CertPolicyStoreClient client, int chunkSize)
        {
            if (chunkSize < 1)
            {
                throw new ArgumentException("value was less than 1", "chunkSize");
            }

            long lastPolicy = -1;

            CertPolicyGroup[] groups;
            while (true)
            {
                groups = client.EnumerateCertPolicyGroups(lastPolicy, chunkSize);
                if (groups.IsNullOrEmpty())
                {
                    yield break;
                }
                for (int i = 0; i < groups.Length; ++i)
                {
                    yield return(groups[i]);
                }
                lastPolicy = groups[groups.Length - 1].ID;
            }
        }
コード例 #6
0
 public static bool Contains(this CertPolicyStoreClient client, string policyGroup, string owner)
 {
     return(client.PolicyGroupToOwnerExists(policyGroup, owner));
 }
コード例 #7
0
 public static bool Contains(this CertPolicyStoreClient client, string policyName, string groupName, CertPolicyUse policyUse, bool incoming, bool outgoing)
 {
     return(client.PolicyToGroupExists(policyName, groupName, policyUse, incoming, outgoing));
 }