コード例 #1
0
 public CertRequestTests()
 {
     certifyManager = new CertifyManager();
     iisManager     = new IISManager();
     //perform setup for IIS
     SetupIIS();
 }
コード例 #2
0
        public CertRequestTests()
        {
            var log = new LoggerConfiguration()
                      .WriteTo.Debug()
                      .CreateLogger();

            _log           = new Loggy(log);
            certifyManager = new CertifyManager();
            iisManager     = new ServerProviderIIS();

            // see integrationtestbase for environment variable replacement
            PrimaryTestDomain = ConfigSettings["AWS_TestDomain"];

            testSiteDomain = "integration1." + PrimaryTestDomain;
            testSitePath   = PrimaryIISRoot;

            _awsCredStorageKey = ConfigSettings["TestCredentialsKey_Route53"];

            if (ConfigSettings["HttpPort"] != null)
            {
                testSiteHttpPort = int.Parse(ConfigSettings["HttpPort"]);
            }

            //perform setup for IIS
            SetupIIS().Wait();
        }
コード例 #3
0
        private async void btnRequestCertificate_Click(object sender, EventArgs e)
        {
            if (lstSites.SelectedItem == null)
            {
                MessageBox.Show("No IIS site selected");
                return;
            }

            //prevent further clicks on request button
            btnRequestCertificate.Enabled = false;
            ShowProgressBar();
            this.Cursor = Cursors.WaitCursor;

            var managedSite = GetUpdatedManagedSiteSettings();

            //store the updated settings
            siteManager.UpdatedManagedSite(managedSite);

            //perform the certificate validations and request process
            var certifyManager = new CertifyManager();
            var result         = await certifyManager.PerformCertificateRequest(VaultManager, managedSite);

            if (!result.IsSuccess)
            {
                MessageBox.Show(result.ErrorMessage);
            }
            else
            {
                MessageBox.Show("Certificate Request Completed");
            }

            this.Cursor = Cursors.Default;
        }
コード例 #4
0
 public AppModel()
 {
     if (!(this is DesignViewModel))
     {
         certifyManager = new CertifyManager();
     }
     ProgressResults = new ObservableCollection <RequestProgressState>();
 }
コード例 #5
0
        private async Task <System.Collections.Generic.List <CertificateRequestResult> > PerformAutoRenew()
        {
            //go through list of items configured for auto renew, perform renewal and report the result
            var certifyManager = new CertifyManager();
            var results        = await certifyManager.PerformRenewalAllManagedSites();

            return(results);
        }
コード例 #6
0
        internal void PerformVaultCleanup()
        {
            System.Console.WriteLine("Beginning Vault Cleanup..");
            var certifyManager = new CertifyManager();

            certifyManager.PerformVaultCleanup();

            System.Console.WriteLine("Completed Vault Cleanup..");
        }
コード例 #7
0
        public void TestCheckAutoRenewalPeriodRequired()
        {
            // setup
            var renewalPeriodDays = 14;
            var managedCertificate = new ManagedCertificate { IncludeInAutoRenew = true, DateRenewed = DateTime.Now.AddDays(-15), DateExpiry = DateTime.Now.AddDays(60) };

            // perform check
            var isRenewalRequired = CertifyManager.IsRenewalRequired(managedCertificate, renewalPeriodDays);

            // assert result
            Assert.IsTrue(isRenewalRequired, "Renewal should be required");
        }
コード例 #8
0
        public CertRequestTests()
        {
            certifyManager = new CertifyManager();
            iisManager     = new ServerProviderIIS();

            // see integrationtestbase for environment variable replacement
            testSiteDomain = "integration1." + PrimaryTestDomain;
            testSitePath   = PrimaryIISRoot;

            //perform setup for IIS
            SetupIIS();
        }
コード例 #9
0
        internal async Task <System.Collections.Generic.List <CertificateRequestResult> > PerformAutoRenew()
        {
            if (tc == null)
            {
                InitTelematics();
            }
            if (tc != null)
            {
                tc.TrackEvent("CLI_BeginAutoRenew");
            }

            Console.ForegroundColor = ConsoleColor.White;
            System.Console.WriteLine("\nPerforming Auto Renewals..\n");

            //go through list of items configured for auto renew, perform renewal and report the result
            var certifyManager = new CertifyManager();
            var results        = await certifyManager.PerformRenewalAllManagedSites(autoRenewalOnly : true);

            foreach (var r in results)
            {
                if (r.ManagedItem != null)
                {
                    System.Console.WriteLine("--------------------------------------");
                    if (r.IsSuccess)
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        System.Console.WriteLine(r.ManagedItem.Name);
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.DarkYellow;
                        System.Console.WriteLine(r.ManagedItem.Name);

                        if (r.Message != null)
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            System.Console.WriteLine(r.Message);
                        }
                    }
                }
            }
            Console.ForegroundColor = ConsoleColor.White;

            System.Console.WriteLine("Completed:" + results.Where(r => r.IsSuccess == true).Count());
            if (results.Any(r => r.IsSuccess == false))
            {
                Console.ForegroundColor = ConsoleColor.Red;
                System.Console.WriteLine("Failed:" + results.Where(r => r.IsSuccess == false).Count());
                Console.ForegroundColor = ConsoleColor.White;
            }
            return(results);
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: s4cphillip/certify
        private void ShowACMEInfo()
        {
            var    certifyManager = new CertifyManager();
            string vaultInfo      = certifyManager.GetVaultSummary();
            string acmeInfo       = certifyManager.GetAcmeSummary();

            Console.ForegroundColor = ConsoleColor.DarkYellow;
            System.Console.WriteLine("Let's Encrypt ACME API: " + acmeInfo);
            System.Console.WriteLine("ACMESharp Vault: " + vaultInfo);

            System.Console.WriteLine("");
            Console.ForegroundColor = ConsoleColor.White;
        }
コード例 #11
0
        public void TestCheckAutoRenewalPeriodUnknownLastRenewal()
        {
            // setup : set renewal period to 14 days, last renewal unknown.

            var renewalPeriodDays = 14;
            var managedCertificate = new ManagedCertificate { IncludeInAutoRenew = true, DateExpiry = DateTime.Now.AddDays(60) };

            // perform check
            var isRenewalRequired = CertifyManager.IsRenewalRequired(managedCertificate, renewalPeriodDays);

            // assert result
            Assert.IsTrue(isRenewalRequired, "Renewal should be required");
        }
コード例 #12
0
        public void TestCheckAutoRenewalPeriodNotRequired()
        {
            // setup : set renewal period to 30 days, last renewal 15 days ago. Renewal should not be
            // required yet.
            var renewalPeriodDays = 30;
            var managedCertificate = new ManagedCertificate { IncludeInAutoRenew = true, DateRenewed = DateTime.Now.AddDays(-15), DateExpiry = DateTime.Now.AddDays(60) };

            // perform check
            var isRenewalRequired = CertifyManager.IsRenewalRequired(managedCertificate, renewalPeriodDays);

            // assert result
            Assert.IsFalse(isRenewalRequired, "Renewal should not be required");
        }
コード例 #13
0
        public DeploymentTaskTests()
        {
            var log = new LoggerConfiguration()
                      .WriteTo.Debug()
                      .CreateLogger();

            _log = new Loggy(log);

            certifyManager = new CertifyManager();

            // see integrationtestbase for environment variable replacement
            PrimaryTestDomain = ConfigSettings["Cloudflare_TestDomain"];
        }
コード例 #14
0
        private async void toolStripButtonRenewAll_Click(object sender, EventArgs e)
        {
            //check if there are any managed sites to renewal, if so offer to renew them

            var certifyManager = new CertifyManager();

            if (certifyManager.HasManagedSites)
            {
                if (MessageBox.Show("Perform renewal requests for all managed sites now?", "Renew All Certificates", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    //TODO: background worker
                    var results = await certifyManager.PerformRenewalAllManagedSites(false);
                }
            }
            else
            {
                MessageBox.Show("You have no managed sites saved. These are created when you complete a New Certificate request.");
            }
        }
コード例 #15
0
        private async void button1_Click(object sender, EventArgs e)
        {
            if (this.selectedSite != null)
            {
                var certifyManager = new CertifyManager();
                var vaultManager   = GetParentMainForm().VaultManager;

                siteManager.LoadSettings();
                var result = await certifyManager.PerformCertificateRequest(vaultManager, this.selectedSite);

                if (!result.IsSuccess)
                {
                    MessageBox.Show("Failed to request a new certificate.");
                }
                else
                {
                    MessageBox.Show("Certificate request completed.");
                }
            }
        }
コード例 #16
0
ファイル: SettingsTests.cs プロジェクト: xtarting/certify
        public void TestCheckAutoRenewal30DaysBeforeExpiry(int renewalPeriodDays, int daysSinceRenewed, int daysUntilExpiry, string renewalIntervalMode)
        {
            // setup

            var dateLastRenewed = DateTime.Now.AddDays(-daysSinceRenewed);

            var managedCertificate = new ManagedCertificate
            {
                IncludeInAutoRenew     = true,
                DateRenewed            = dateLastRenewed,
                DateLastRenewalAttempt = dateLastRenewed,
                DateExpiry             = DateTime.Now.AddDays(daysUntilExpiry)
            };

            // perform check
            var isRenewalRequired = CertifyManager.IsRenewalRequired(managedCertificate, renewalPeriodDays, renewalIntervalMode);

            // assert result
            if (renewalIntervalMode == RenewalIntervalModes.DaysAfterLastRenewal)
            {
                if (daysSinceRenewed >= renewalPeriodDays)
                {
                    Assert.IsTrue(isRenewalRequired, $"Renewal should be required. Renewal mode: {renewalIntervalMode}, renewal interval: {renewalPeriodDays}, days since last renewed: {daysSinceRenewed}");
                }
                else
                {
                    Assert.IsFalse(isRenewalRequired, $"Renewal should not be required.  Renewal mode: {renewalIntervalMode}, renewal interval: {renewalPeriodDays}, days since last renewed: {daysSinceRenewed}");
                }
            }
            else if (renewalIntervalMode == RenewalIntervalModes.DaysBeforeExpiry)
            {
                if (daysUntilExpiry <= renewalPeriodDays)
                {
                    Assert.IsTrue(isRenewalRequired, $"Renewal should be required. Renewal mode: {renewalIntervalMode}, renewal interval: {renewalPeriodDays}, days until expiry: {daysUntilExpiry}");
                }
                else
                {
                    Assert.IsFalse(isRenewalRequired, $"Renewal should not be required. Renewal mode: {renewalIntervalMode}, renewal interval: {renewalPeriodDays}, days until expiry: {daysUntilExpiry}");
                }
            }
        }
コード例 #17
0
ファイル: SettingsTests.cs プロジェクト: xtarting/certify
        public void TestCheckAutoRenewalPeriodRequiredWithFailures()
        {
            // setup
            var renewalPeriodDays   = 14;
            var renewalIntervalMode = RenewalIntervalModes.DaysAfterLastRenewal;

            var managedCertificate = new ManagedCertificate
            {
                IncludeInAutoRenew     = true,
                DateRenewed            = DateTime.Now.AddDays(-15),
                DateExpiry             = DateTime.Now.AddDays(60),
                DateLastRenewalAttempt = DateTime.Now.AddHours(-12),
                LastRenewalStatus      = RequestState.Error,
                RenewalFailureCount    = 2
            };

            // perform check
            var isRenewalRequired = CertifyManager.IsRenewalRequired(managedCertificate, renewalPeriodDays, renewalIntervalMode, true);

            // assert result
            Assert.IsTrue(isRenewalRequired, "Renewal should be required");

            managedCertificate = new ManagedCertificate
            {
                IncludeInAutoRenew     = true,
                DateRenewed            = DateTime.Now.AddDays(-15),
                DateExpiry             = DateTime.Now.AddDays(60),
                DateLastRenewalAttempt = null,
                LastRenewalStatus      = null,
                RenewalFailureCount    = 0
            };

            // perform check
            isRenewalRequired = CertifyManager.IsRenewalRequired(managedCertificate, renewalPeriodDays, renewalIntervalMode, true);

            // assert result
            Assert.IsTrue(isRenewalRequired, "Site with no previous status - Renewal should be required");
        }
コード例 #18
0
        public AppModel()
        {
            certifyManager = new CertifyManager();

            ProgressResults = new ObservableCollection <RequestProgressState>();
        }
コード例 #19
0
ファイル: AppModel.cs プロジェクト: mangonugen/certify
 public AppModel()
 {
     certifyManager = new CertifyManager();
 }