Ejemplo n.º 1
0
        /// <inheritdoc />
        public override void InjectReferenceValue(X509Certificate2 value)
        {
            Certificate = value;

            Asn1Object exValue = GetExtensionValue(value);

            if (exValue == null)
            {
                if (IsRequired())
                {
                    throw new PolicyRequiredException("Extention " + ExtentionIdentifier.Display + " is marked as required by is not present.");
                }
                else
                {
                    var emptyList = new List <string>();
                    PolicyValue = PolicyValueFactory.GetInstance <IList <string> >(emptyList);
                    return;
                }
            }

            var names = new List <string>();

            var generalNames = GeneralNames.GetInstance(exValue);

            foreach (var name in generalNames.GetNames())
            {
                var type = StandardExt.FromTag <Standard.GeneralNameType>(name.TagNo);
                names.Add(type.Name() + ":" + name.Name);
            }
            PolicyValue = PolicyValueFactory.GetInstance <IList <string> >(names);
        }
Ejemplo n.º 2
0
        public void testGetInstance_assertValue()
        {
            IPolicyValue <int> value = PolicyValueFactory.GetInstance(12345);

            value.GetPolicyValue().Should().Be(12345);
            value.Should().Be(PolicyValueFactory.GetInstance(12345));

            IPolicyValue <string> value2 = PolicyValueFactory.GetInstance("12345");

            value2.GetPolicyValue().Should().Be("12345");
            value2.Should().Be(PolicyValueFactory.GetInstance("12345"));
        }
        public void TestExecute_Intersection_AssertResults()
        {
            IPolicyValue <IList <String> > op1 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "A", "B", "C", "D"
            });
            IPolicyValue <IList <String> > op2 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "A", "B", "E"
            });

            IEnumerable <string> resultList =
                PolicyOperator <IList <string>, IList <string>, IEnumerable <string> > .INTERSECT.Execute(
                    op1.GetPolicyValue(), op2.GetPolicyValue());

            var result = resultList.ToList();

            result.Count().Should().Be(2);
            result.Contains("A").Should().BeTrue();
            result.Contains("B").Should().BeTrue();

            op1 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "A", "B", "C"
            });
            op2 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "D", "E", "F"
            });

            resultList = PolicyOperator <IList <string>, IList <string>, IEnumerable <string> > .INTERSECT.Execute(
                op1.GetPolicyValue(), op2.GetPolicyValue());

            resultList.Any().Should().BeFalse();

            //
            // Change ordering
            //
            op1 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "D", "C", "B", "A"
            });
            op2 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "A", "E", "B"
            });
            resultList = PolicyOperator <IList <string>, IList <string>, IEnumerable <string> > .INTERSECT.Execute(
                op1.GetPolicyValue(), op2.GetPolicyValue());

            result = resultList.ToList();
            result.Count().Should().Be(2);
            result.Contains("A").Should().BeTrue();
            result.Contains("B").Should().BeTrue();
        }
        public void TestExecute_Intersection_StringConversion_AssertResults()
        {
            IPolicyValue <IList <String> > op1 =
                PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "A", "B", "C", "D"
            });
            IPolicyValue <String> op2 = new PolicyValue <string>("A,B,E");

            IEnumerable <string> resultList =
                PolicyOperator <IList <string>, string, IEnumerable <string> > .INTERSECT.Execute(
                    op1.GetPolicyValue(), op2.GetPolicyValue());


            var result = resultList.ToList();

            result.Count().Should().Be(2);
            result.Contains("A").Should().BeTrue();
            result.Contains("B").Should().BeTrue();

            op1 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "A", "B", "C"
            });
            op2 = new PolicyValue <string>("D,E,F");

            resultList =
                PolicyOperator <IList <string>, string, IEnumerable <string> > .INTERSECT.Execute(
                    op1.GetPolicyValue(), op2.GetPolicyValue());

            resultList.Any().Should().BeFalse();

            op1 = PolicyValueFactory.GetInstance <IList <String> >(new List <string> {
                "D", "C", "B", "A"
            });
            op2        = new PolicyValue <string>("A,E,B");
            resultList =
                PolicyOperator <IList <string>, string, IEnumerable <string> > .INTERSECT.Execute(
                    op1.GetPolicyValue(), op2.GetPolicyValue());

            result = resultList.ToList();
            result.Count().Should().Be(2);
            result.Contains("A").Should().BeTrue();
            result.Contains("B").Should().BeTrue();
        }
Ejemplo n.º 5
0
        /// <inheritdoc />
        public override void InjectReferenceValue(X509Certificate2 value)
        {
            Certificate = value;

            if (RdnAttributeId.Equals(RDNAttributeIdentifier.DISTINGUISHED_NAME))
            {
                var str = new List <String> {
                    Certificate.IssuerName.RemoveSpaces()
                };
                PolicyValue = PolicyValueFactory.GetInstance <IList <String> >(str);
                return;
            }

            X500DistinguishedName distinguishedName = Certificate.IssuerName;
            var values = distinguishedName.GetRdns(GetRDNAttributeFieldId().Name);


            if (!values.Any() && IsRequired())
            {
                throw new PolicyRequiredException(Name + " field attribute " + RdnAttributeId.Name + " is marked as required but is not present.");
            }

            PolicyValue = PolicyValueFactory.GetInstance <IList <String> >(values);
        }
 /// <inheritdoc />
 public override void InjectReferenceValue(X509Certificate2 value)
 {
     Certificate = value;
     PolicyValue = PolicyValueFactory.GetInstance(value.GetKeyAlgorithm());
 }
 /// <inheritdoc />
 public override void InjectReferenceValue(X509Certificate2 value)
 {
     Certificate = value;
     PolicyValue = PolicyValueFactory.GetInstance(value.SerialNumber.HexAsLong());
 }
Ejemplo n.º 8
0
 public override void InjectReferenceValue(X509Certificate2 value) //throws PolicyProcessException
 {
     Certificate = value;
     PolicyValue = PolicyValueFactory.GetInstance(value.SignatureAlgorithm.Value);
 }