Esempio n. 1
0
        public void certificatePoliciesConstructorTest1()
        {
            bool Critical = false;
            certificatePolicies target = new certificatePolicies(Critical);

            Assert.IsFalse(target.Critical);
        }
Esempio n. 2
0
        public void CertPoliciesTest()
        {
            certificatePolicies target = new certificatePolicies(testData1);
            List <CertPolicy>   actual;

            actual = target.CertPolicies;
            Assert.AreEqual(2, actual.Count);
        }
Esempio n. 3
0
        public void ToXmlTest()
        {
            certificatePolicies target = new certificatePolicies(testData1);
            XNode expected             = testData1;
            XNode actual;

            actual = target.ToXml();
            Assert.AreEqual(expected.ToString(), actual.ToString());
        }
Esempio n. 4
0
        public void CertificatePoliciesTest()
        {
            certificatePolicies target = new certificatePolicies(testData1);
            CertificatePolicies actual;

            actual = target.CertificatePolicies;
            Assert.IsFalse(target.Critical);
            Assert.AreEqual("CertificatePolicies: 1.2.860.0.1311.1.1, 1.2.860.0.1311.1.3", actual.ToString());
        }
Esempio n. 5
0
        public void RemoveTest()
        {
            certificatePolicies target = new certificatePolicies(testData1);
            CertPolicy          Policy = new CertPolicy()
            {
                Oid = "1.2.860.0.1311.1.3", Cps = "", Name = "", Unotice = ""
            };

            target.Remove(Policy);
            Assert.AreEqual("CertificatePolicies: 1.2.860.0.1311.1.1", target.CertificatePolicies.ToString());
        }
Esempio n. 6
0
        public void certificatePoliciesConstructorTest2()
        {
            // Build an extension
            BcV3CertGen         gen     = new BcV3CertGen();
            certificatePolicies testExt = new certificatePolicies(testData1);

            gen.AddExtension(testExt.OID, testExt.Critical, testExt.DerEncoding);
            X509Certificate cert = CertTestHarness.RunCertGenerator(gen);
            X509Extension   ext  = CertTestHarness.ExtractExtension(cert, X509Extensions.CertificatePolicies);

            // Test code
            certificatePolicies target = new certificatePolicies(ext);
            List <CertPolicy>   list   = target.CertPolicies;

            Assert.IsFalse(target.Critical);
            Assert.AreEqual(2, list.Count);
            Assert.AreEqual("http://foo.com/cps.htm", list[0].Cps);
            Assert.AreEqual("This is a test notice", list[0].Unotice);
            Assert.AreEqual("1.2.860.0.1311.1.3", list[1].Oid);
        }
Esempio n. 7
0
        // Load an existing extension
        private void edit(certificatePolicies certPol)
        {
            cp = certPol;

            // Populate the dataset
            for (int i = 0; i < cp.CertPolicies.Count; i++)
            {
                updateDataSet(cp.CertPolicies[i], i);
            }

            // critical setting
            if (cp.Critical)
            {
                cbCritical.Checked = true;
            }
            else
            {
                cbCritical.Checked = false;
            }
        }
Esempio n. 8
0
        public PolicyMappings(policyMappings Mappings, certificatePolicies CertPol)
        {
            InitializeComponent();

            certpol = CertPol;
            foreach (CertPolicy policy in certpol.CertPolicies)
            {
                lbIssuerPolicies.Items.Add(policy.Oid + " (" + policy.Name + ")");
            }
            lbIssuerPolicies.SelectedIndex = 0;

            if (Mappings == null)
            {
                create();
            }
            else
            {
                edit(Mappings);
            }
        }
Esempio n. 9
0
        public CertificatePolicies(certificatePolicies certPol)
        {
            InitializeComponent();

            // Setup the dataset
            ds.Tables.Add("policies");
            ds.Tables["policies"].Columns.Add("#");
            ds.Tables["policies"].Columns.Add("OID");
            ds.Tables["policies"].Columns.Add("Name");
            ds.Tables["policies"].Columns.Add("CPS");
            ds.Tables["policies"].Columns.Add("Notice");

            // Setup the grid
            dgv.DataSource = ds.Tables["policies"];

            if (certPol == null)
            {
                create();
            }
            else
            {
                edit(certPol);
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Create an extension and add to the profile
        /// </summary>
        /// <param name="profile">Profile object</param>
        /// <param name="Extension">Extension name</param>
        internal static bool CreateExtension(Profile profile, string Extension)
        {
            bool ok = true;

            switch (Extension)
            {
            case "Basic Constraints":
                BasicConstraints bc = new BasicConstraints(null);
                if (bc.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(bc.basCon);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;     // User clicked cancel
                }
                break;

            case "Key Usage":
                KeyUsage ku = new KeyUsage(null);
                if (ku.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(ku.keyUsage);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Extended Key Usage":
                ExtendedKeyUsage eku = new ExtendedKeyUsage(null);
                if (eku.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(eku.extKeyUsage);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "CRL Distribution Points":
                CrlDistributionPoint cdp = new CrlDistributionPoint(null);
                if (cdp.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(cdp.crlDP);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Subject Alternative Name":
                SubjectAltNames san = new SubjectAltNames(null);
                if (san.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(san.san);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Issuer Alternative Name":
                IssuerAltNames ian = new IssuerAltNames(null);
                if (ian.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(ian.ian);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Authority Information Access":
                AuthorityInfoAccess aia = new AuthorityInfoAccess(null);
                if (aia.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(aia.aia);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Subject Information Access":
                SubjectInfoAccess sia = new SubjectInfoAccess(null);
                if (sia.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(sia.sia);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Name Constraints":
                NameConstraints nc = new NameConstraints(null);
                if (nc.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(nc.nc);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Certificate Policies":
                CertificatePolicies cp = new CertificatePolicies(null);
                if (cp.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(cp.cp);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Policy Mappings":
                // Can't process this until CertPolicies is defined
                certificatePolicies policy = (certificatePolicies)FindExtension(profile, typeof(certificatePolicies));
                if (policy == null)
                {
                    MessageBox.Show("You must define Certificate Policies before adding this extension", "Policy Mappings", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    ok = false;
                }
                else
                {
                    PolicyMappings map = new PolicyMappings(null, policy);
                    if (map.ShowDialog() == DialogResult.OK)
                    {
                        try
                        {
                            profile.AddExtension(map.mapping);
                        }
                        catch (ArgumentException)
                        {
                            ok = false;
                            MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                    }
                    else
                    {
                        ok = false;
                    }
                }
                break;

            case "OCSP Nocheck":
                OcspNocheck on = new OcspNocheck(null);
                if (on.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(on.ocsp);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Inhibit AnyPolicy":
                InhibitAnyPolicy iap = new InhibitAnyPolicy(null);
                if (iap.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(iap.iAnypol);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            case "Policy Constraints":
                PolicyConstraints pc = new PolicyConstraints(null);
                if (pc.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        profile.AddExtension(pc.polCon);
                    }
                    catch (ArgumentException)
                    {
                        ok = false;
                        MessageBox.Show("Duplicate extensions not permitted", "Profile Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    ok = false;
                }
                break;

            default:
                throw new ArgumentOutOfRangeException(Extension);
            }
            return(ok);
        }
Esempio n. 11
0
 // Create a new extension
 private void create()
 {
     cp = new certificatePolicies();
 }