public static bool IsCertificateExtendedValidation(X509Certificate2 certificate, X509Chain chain)
        {
            var decoder         = new CertificatePolicyDecoder();
            var rootCertificate = chain.ChainElements[chain.ChainElements.Count - 1].Certificate;
            var policies        = decoder.GetPolicies(certificate);

            if (policies.Count == 0)
            {
                return(false);
            }
            var rootThumbprint = rootCertificate.GetCertHash();

            if (rootThumbprint.Length != 20)
            {
                return(false);
            }
            var findRoot = Array.Find(EVRootCAMetadata, p => p.Sha1Fingerprint.MemoryCompare(rootThumbprint));

            if (findRoot == null)
            {
                return(false);
            }
            var oids = Array.FindAll(findRoot.PolicyOids, p => !string.IsNullOrWhiteSpace(p));

            return(oids.Intersect(policies.Select(p => p.PolicyOid.Value)).Any());
        }
 public static bool IsCertificateDomainValidated(X509Certificate2 certificate)
 {
     var decoder = new CertificatePolicyDecoder();
     var policies = decoder.GetPolicies(certificate);
     if (policies.Count == 0)
     {
         return false;
     }
     return DVOids.Intersect(policies.Select(p => p.PolicyOid.Value)).Any();
 }
        public static bool IsCertificateDomainValidated(X509Certificate2 certificate)
        {
            var decoder  = new CertificatePolicyDecoder();
            var policies = decoder.GetPolicies(certificate);

            if (policies.Count == 0)
            {
                return(false);
            }
            return(DVOids.Intersect(policies.Select(p => p.PolicyOid.Value)).Any());
        }
 public static bool IsCertificateExtendedValidation(X509Certificate2 certificate, X509Chain chain)
 {
     var decoder = new CertificatePolicyDecoder();
     var rootCertificate = chain.ChainElements[chain.ChainElements.Count - 1].Certificate;
     var policies = decoder.GetPolicies(certificate);
     if (policies.Count == 0)
     {
         return false;
     }
     var rootThumbprint = rootCertificate.GetCertHash();
     if (rootThumbprint.Length != 20)
     {
         return false;
     }
     var findRoot = Array.Find(EVRootCAMetadata, p => p.Sha1Fingerprint.MemoryCompare(rootThumbprint));
     if (findRoot == null)
     {
         return false;
     }
     var oids = Array.FindAll(findRoot.PolicyOids, p => !string.IsNullOrWhiteSpace(p));
     return oids.Intersect(policies.Select(p => p.PolicyOid.Value)).Any();
 }