Esempio n. 1
0
        public void SetStatusTest()
        {
            long t = 1;

            for (long i = 1; i <= MAXDOMAINCOUNT; i++)
            {
                List <long> ids = new List <long>(MAXCERTPEROWNER);
                while ((t % MAXCERTPEROWNER) > 0)
                {
                    ids.Add(t);
                    t++;
                }
                ids.Add(t);
                t++;
                Dump(String.Format("SetStatusTest checking certs for {0}, found {1}", BuildDomainName(i), ids.Count));

                CertificateManager target = CreateManager();
                Certificate[]      certs  = target.Get(ids.ToArray());
                foreach (Certificate cert in certs)
                {
                    Dump(string.Format("\t - Subject[{0}] Status:[{1}] ID:[{2}]", cert == null ? "null cert" : cert.Owner, cert?.Status.ToString() ?? "null cert", cert?.ID ?? -1));
                    Assert.Equal(EntityStatus.New, cert.Status);
                }

                target.SetStatus(ids.ToArray(), EntityStatus.Enabled);
                certs = target.Get(ids.ToArray());
                foreach (Certificate cert in certs)
                {
                    Assert.Equal(EntityStatus.Enabled, cert.Status);
                }
            }
        }
Esempio n. 2
0
        public void SetStatusTest4()
        {
            foreach (string domain in TestDomainNames)
            {
                string             subject = domain;
                CertificateManager target  = CreateManager();
                Certificate[]      actual  = target.Get(subject);
                Dump(string.Format("SetStatusTest4 Subject[{0}] which has [{1}] related certs.", subject, actual?.Length ?? -1));
                Assert.NotNull(actual);
                Assert.Equal(MAXCERTPEROWNER, actual.Length);

                foreach (Certificate cert in actual)
                {
                    Assert.Equal(EntityStatus.New, cert.Status);
                }

                target.SetStatus(subject, EntityStatus.Enabled);

                actual = target.Get(subject);
                Assert.NotNull(actual);
                Assert.Equal(MAXCERTPEROWNER, actual.Length);
                foreach (Certificate cert in actual)
                {
                    Assert.Equal(EntityStatus.Enabled, cert.Status);
                }
            }

            foreach (Certificate cert in GetCleanEnumerable <Certificate>(TestCertificates))
            {
                CertificateManager target   = CreateManager();
                X509Certificate    xcert    = cert.ToX509Certificate();
                Certificate[]      expected = target.Get(xcert.Subject);
                target.SetStatus(xcert.Subject, EntityStatus.Enabled);
            }
        }
Esempio n. 3
0
        public void SetStatusTest3()
        {
            using (ConfigDatabase db = CreateConfigDatabase())
            {
                foreach (string domain in TestDomainNames)
                {
                    string             subject = domain;
                    CertificateManager target  = CreateManager();
                    Certificate[]      actual  = target.Get(subject);
                    Dump(string.Format("SetStatusTest3 Subject[{0}] which has [{1}] related certs.", subject, actual?.Length ?? -1));
                    Assert.NotNull(actual);
                    Assert.Equal(MAXCERTPEROWNER, actual.Length);

                    foreach (Certificate cert in actual)
                    {
                        Assert.Equal(EntityStatus.New, cert.Status);
                    }

                    target.SetStatus(db, subject, EntityStatus.Enabled);
                    db.SubmitChanges();
                    actual = target.Get(subject);
                    Assert.NotNull(actual);
                    Assert.Equal(MAXCERTPEROWNER, actual.Length);
                    foreach (Certificate cert in actual)
                    {
                        Assert.Equal(EntityStatus.Enabled, cert.Status);
                    }
                }
            }
        }
Esempio n. 4
0
        public void RemoveTest3()
        {
            CertificateManager target = CreateManager();

            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
            long[] certificateIDs = new long[] { 1, 2, 3, 4, 5, 6, 7 };
            target.Remove(certificateIDs);
            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER - certificateIDs.Length, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
        }
Esempio n. 5
0
        public void RemoveTest1()
        {
            CertificateManager target = CreateManager();
            const long         certID = 1;

            Assert.NotNull(target.Get(certID));
            target.Remove(certID);
            Assert.Null(target.Get(certID));
        }
Esempio n. 6
0
        public void RemoveAllTest()
        {
            CertificateManager target = CreateManager();

            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());

            target.RemoveAll();

            Assert.Equal(0, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
        }
Esempio n. 7
0
        public void RemoveTest4()
        {
            CertificateManager target = CreateManager();

            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
            string ownerName = string.Format("{0}", BuildDomainName(1));

            target.Remove(ownerName);
            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER - MAXCERTPEROWNER, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
        }
Esempio n. 8
0
        public void RemoveAllTest1()
        {
            CertificateManager target = CreateManager();

            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
            using (ConfigDatabase db = CreateConfigDatabase())
            {
                target.RemoveAll(db);
            }
            Assert.Equal(0, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
        }
Esempio n. 9
0
        public void RemoveTest()
        {
            CertificateManager target = CreateManager();
            const long         certID = 1;

            Assert.NotNull(target.Get(certID));
            using (ConfigDatabase db = CreateConfigDatabase())
            {
                target.Remove(db, certID);
            }
            Assert.Null(target.Get(certID));
        }
Esempio n. 10
0
 public void SetStatusTest2()
 {
     for (long i = 1; i <= MAXCERTPEROWNER * MAXDOMAINCOUNT; i++)
     {
         CertificateManager target = CreateManager();
         Certificate        cert   = target.Get(i);
         Dump(string.Format("SetStatusTest1 Subject[{0}] Status:[{1}]", cert == null ? "null cert" : cert.Owner, cert?.Status.ToString() ?? "null cert"));
         Assert.Equal(EntityStatus.New, cert.Status);
         target.SetStatus(i, EntityStatus.Enabled);
         cert = target.Get(i);
         Assert.Equal(EntityStatus.Enabled, cert.Status);
     }
 }
Esempio n. 11
0
        public void RemoveTest5()
        {
            CertificateManager target = CreateManager();

            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());

            using (ConfigDatabase db = CreateConfigDatabase())
            {
                string ownerName = string.Format("{0}", BuildDomainName(1));
                target.Remove(db, ownerName);
            }
            Assert.Equal(MAXDOMAINCOUNT * MAXCERTPEROWNER - MAXCERTPEROWNER, target.Get(-1, MAXDOMAINCOUNT * MAXCERTPEROWNER + 1).Count());
        }
Esempio n. 12
0
        public void GetTest2()
        {
            CertificateManager target = CreateManager();
            string             owner  = string.Format("{0}", BuildDomainName(GetRndDomainID()));
            EntityStatus?      status = EntityStatus.New;

            Certificate[] actual = target.Get(owner, status).ToArray();
            Assert.Equal(MAXCERTPEROWNER, actual.Count());
            foreach (Certificate cert in actual)
            {
                Assert.Equal(EntityStatus.New, cert.Status);
                Assert.Equal(owner, cert.Owner);
            }
            target.SetStatus(actual.First().ID, EntityStatus.Enabled);
            actual = target.Get(owner, status).ToArray();
            Assert.Equal(MAXCERTPEROWNER - 1, actual.Count());
        }
Esempio n. 13
0
        public void GetTest4()
        {
            CertificateManager target = CreateManager();
            long        certID        = GetRndCertID();
            Certificate cert          = target.Get(certID);

            Assert.NotNull(cert);
            Assert.Equal(certID, cert.ID);
        }
Esempio n. 14
0
        public void GetTest8()
        {
            CertificateManager        target     = CreateManager();
            const long                lastCertID = 0;
            const int                 maxResults = MAXCERTPEROWNER * MAXDOMAINCOUNT + 1;
            IEnumerable <Certificate> actual     = target.Get(lastCertID, maxResults);

            Assert.Equal(MAXCERTPEROWNER * MAXDOMAINCOUNT, actual.Count());
        }
Esempio n. 15
0
        public void AddTest1()
        {
            CertificateManager target = CreateManager();

            target.RemoveAll();
            List <Certificate> certs = GetCleanEnumerable <Certificate>(TestCertificates);

            target.Add(certs);
            Certificate[] actual = target.Get(0, MAXCERTPEROWNER * MAXDOMAINCOUNT + 1);
            Assert.Equal(certs.Count(), actual.Length);
        }
Esempio n. 16
0
        public void AddTest2(Certificate cert)
        {
            CertificateManager target = CreateManager();

            target.RemoveAll();
            target.Add(cert);
            Certificate certNew = target.Get(1); //---should always be 1 (table was truncated above);

            Assert.NotNull(cert);
            Assert.Equal(cert.Owner, certNew.Owner);
            Assert.Equal(cert.Thumbprint, certNew.Thumbprint);
        }
Esempio n. 17
0
        public void GetTest1()
        {
            CertificateManager target = CreateManager();
            string             owner  = string.Format("{0}", BuildDomainName(GetRndDomainID()));

            Certificate[] actual = target.Get(owner).ToArray();
            Assert.Equal(MAXCERTPEROWNER, actual.Count());
            foreach (Certificate cert in actual)
            {
                Assert.Equal(owner, cert.Owner);
            }
        }
Esempio n. 18
0
        public void GetTest5()
        {
            CertificateManager target     = CreateManager();
            List <Certificate> certs      = this.GetCleanEnumerable <Certificate>(TestCertificates);
            string             owner      = certs[GetRndCertID()].Owner;
            string             thumbprint = certs[GetRndCertID()].Thumbprint;
            Certificate        expected   = certs[GetRndCertID()];
            Certificate        actual     = target.Get(owner, thumbprint);

            Assert.Equal(expected.Owner, actual.Owner);
            Assert.Equal(expected.Thumbprint, actual.Thumbprint);
        }
Esempio n. 19
0
        public void GetTest6()
        {
            CertificateManager target = CreateManager();
            long certID = GetRndCertID();

            using (ConfigDatabase db = CreateConfigDatabase())
            {
                Certificate cert = target.Get(db, certID);
                Assert.NotNull(cert);
                Assert.Equal(certID, cert.ID);
            }
        }
Esempio n. 20
0
        public void GetTest7()
        {
            CertificateManager target = CreateManager();

            long[]        certIDs = new long[] { 1, 2, 3, 4, 5, 6, 7 };
            Certificate[] actual  = target.Get(certIDs);
            Assert.Equal(certIDs.Length, actual.Length);
            foreach (Certificate cert in actual)
            {
                Assert.True(certIDs.Contains(cert.ID));
            }
        }
Esempio n. 21
0
        public void GetTest10()
        {
            CertificateManager target = CreateManager();

            using (ConfigDatabase db = CreateConfigDatabase())
            {
                const long lastCertID            = 0;
                const int  maxResults            = MAXCERTPEROWNER * MAXDOMAINCOUNT + 1;
                IEnumerable <Certificate> actual = target.Get(db, lastCertID, maxResults);
                Assert.Equal(MAXCERTPEROWNER * MAXDOMAINCOUNT, actual.Count());
            }
        }
Esempio n. 22
0
 public void AddTest(Certificate cert)
 {
     using (ConfigDatabase db = CreateConfigDatabase())
     {
         CertificateManager target = CreateManager();
         target.RemoveAll();
         target.Add(db, cert);
         db.SubmitChanges();
         Certificate certNew = target.Get(1); //---should always be 1 (table was truncated above);
         Assert.NotNull(cert);
         Assert.Equal(cert.Owner, certNew.Owner);
         Assert.Equal(cert.Thumbprint, certNew.Thumbprint);
     }
 }
Esempio n. 23
0
        /// <summary>
        /// Gets Certificate saved under specified alias from CertificateManager.
        /// </summary>
        /// <param name="alias">The name of a Certificate.</param>
        /// <param name="password">The password used to decrypt a Certificate. If password is provided when adding a Certificate to CertificateManager, the same password should be passed here.</param>
        /// <returns>Certificate if exists, else null.</returns>
        public override Certificate Get(string alias, string password)
        {
            Certificate data = null;

            if (this.Exists(alias, password))
            {
                try
                {
                    data = CertificateManager.Get(alias, password);
                    return(data);
                }
                catch (Exception ex)
                {
                    Log.Error("SecureRepository_CERTIFICATES", ex.Message);
                }
            }
            else
            {
                Log.Error("SecureRepository_CERTIFICATES", "No Certificates stored under this alias");
            }

            return(null);
        }