Ejemplo n.º 1
0
        public static int Main(string[] args)
        {
            Log.PreInitialize();
            FixCosturaPath();

            Options options;

            if (!TryParseOptions(args, out options))
            {
                return(-1);
            }

            AcmeClientService       acmeClient              = new AcmeClientService(options);
            FirewallService         firewallService         = new FirewallService();
            IisService              iisService              = new IisService(options, firewallService);
            AcmeCertificateService  acmeCertificateService  = new AcmeCertificateService(options, acmeClient, iisService);
            RenewalService          renewalService          = new RenewalService(options);
            CertificateStoreService certificateStoreService = new CertificateStoreService(options, iisService);

            Program program = new Program(options, acmeClient, iisService, acmeCertificateService, renewalService, certificateStoreService, firewallService);

            program.Execute();

            return(0);
        }
Ejemplo n.º 2
0
 private Program(Options options, AcmeClientService acmeClient, IisService iisService, AcmeCertificateService acmeCertificateService,
                 RenewalService renewalService, CertificateStoreService certificateStoreService, FirewallService firewallService)
 {
     _options                 = options;
     _acmeClient              = acmeClient;
     _iisService              = iisService;
     _acmeCertificateService  = acmeCertificateService;
     _renewalService          = renewalService;
     _certificateStoreService = certificateStoreService;
     _firewallService         = firewallService;
 }
        public void Can_Get_Authorization_Results()
        {
            var authorizationStates = AcmeClientService.RequestVerificationChallenge(TargetApplication).ToList();

            Assert.IsNotEmpty(authorizationStates);

            foreach (var authorizationState in authorizationStates)
            {
                // Make sure the hostname in the authorization result is one that we actually sent in
                Assert.IsTrue(TargetApplication.Hostnames.Any(x => string.Equals(x, authorizationState.Identifier, StringComparison.InvariantCultureIgnoreCase)));

                // Since we can't authorize using HTTP from a unit test we'll be happy if all tests end in a pending status
                Assert.AreEqual(authorizationState.Status, AuthorizationState.STATUS_PENDING);
            }
        }
Ejemplo n.º 4
0
        public void Can_Handle_Authorization_Challenge()
        {
            var authorizationStates = AcmeClientService.RequestVerificationChallenge(TargetApplication).ToList();

            Assert.IsNotEmpty(authorizationStates);

            var hanledAuthorizationStates = new List <AuthorizationState>();

            foreach (var authorizationState in authorizationStates)
            {
                hanledAuthorizationStates.Add(AcmeClientService.HandleVerificationChallenge(authorizationState));
            }

            foreach (var authorizationState in hanledAuthorizationStates)
            {
                Assert.AreEqual(authorizationState.Status, AuthorizationState.STATUS_VALID);
            }
        }