Пример #1
0
 public AcmeCertificateLoader(
     CertificateSelector selector,
     IHttpChallengeResponseStore challengeStore,
     IOptions <LetsEncryptOptions> options,
     ILogger <AcmeCertificateLoader> logger,
     IHostEnvironment hostEnvironment,
     IServer server,
     IConfiguration config,
     TermsOfServiceChecker tosChecker,
     IEnumerable <ICertificateRepository> certificateRepositories,
     IClock clock,
     IHostApplicationLifetime applicationLifetime,
     TlsAlpnChallengeResponder tlsAlpnChallengeResponder,
     IAccountStore?accountStore = default)
 {
     _selector                = selector;
     _challengeStore          = challengeStore;
     _accountStore            = accountStore;
     _options                 = options;
     _logger                  = logger;
     _hostEnvironment         = hostEnvironment;
     _server                  = server;
     _config                  = config;
     _tosChecker              = tosChecker;
     _certificateRepositories = certificateRepositories;
     _clock = clock;
     _applicationLifetime       = applicationLifetime;
     _tlsAlpnChallengeResponder = tlsAlpnChallengeResponder;
 }
Пример #2
0
 public HttpChallengeResponseMiddleware(
     IHttpChallengeResponseStore responseStore,
     ILogger <HttpChallengeResponseMiddleware> logger)
 {
     _responseStore = responseStore;
     _logger        = logger;
 }
Пример #3
0
        public AcmeCertificateFactory(
            AcmeClientFactory acmeClientFactory,
            TermsOfServiceChecker tosChecker,
            IOptions <LettuceEncryptOptions> options,
            IHttpChallengeResponseStore challengeStore,
            IAccountStore?accountRepository,
            ILogger <AcmeCertificateFactory> logger,
            IHostApplicationLifetime appLifetime,
            ICertificateAuthorityConfiguration certificateAuthority)
        {
            _acmeClientFactory = acmeClientFactory;
            _tosChecker        = tosChecker;
            _options           = options;
            _challengeStore    = challengeStore;
            _logger            = logger;

            _appStarted = new TaskCompletionSource <object?>();
            appLifetime.ApplicationStarted.Register(() => _appStarted.TrySetResult(null));
            if (appLifetime.ApplicationStarted.IsCancellationRequested)
            {
                _appStarted.TrySetResult(null);
            }

            _accountRepository = accountRepository ?? new FileSystemAccountStore(logger, certificateAuthority);
        }
Пример #4
0
        public CertificateFactory(
            TermsOfServiceChecker tosChecker,
            IOptions <LetsEncryptOptions> options,
            IHttpChallengeResponseStore challengeStore,
            IAccountStore?accountRepository,
            ILogger logger,
            IHostEnvironment env,
            IHostApplicationLifetime appLifetime,
            TlsAlpnChallengeResponder tlsAlpnChallengeResponder)
        {
            _tosChecker                = tosChecker;
            _options                   = options;
            _challengeStore            = challengeStore;
            _logger                    = logger;
            _tlsAlpnChallengeResponder = tlsAlpnChallengeResponder;

            _appStarted = new TaskCompletionSource <object?>();
            appLifetime.ApplicationStarted.Register(() => _appStarted.TrySetResult(null));
            if (appLifetime.ApplicationStarted.IsCancellationRequested)
            {
                _appStarted.TrySetResult(null);
            }

            _accountRepository = accountRepository ?? new FileSystemAccountStore(logger, options, env);
            AcmeServer         = _options.Value.GetAcmeServer(env);
        }
 public HttpChallengeResponseMiddleware(ILogger <HttpChallengeResponseMiddleware> logger,
                                        IHttpChallengeResponseStore httpChallengeResponseStore,
                                        CertificateBuilderService certificateBuilderService)
 {
     _logger = logger;
     _httpChallengeResponseStore = httpChallengeResponseStore;
     _certificateBuilderService  = certificateBuilderService;
 }
Пример #6
0
 public CertificateFactory(IOptions <LetsEncryptOptions> options,
                           IHttpChallengeResponseStore challengeStore,
                           ILogger logger)
 {
     _options        = options;
     _challengeStore = challengeStore;
     _logger         = logger;
     _client         = new AcmeClient(_options.Value.AcmeServer);
 }
 public CertificateRequestService(ILogger <CertificateRequestService> logger,
                                  IOptions <LetsEncryptOptions> options,
                                  CertificateSelector certificateSelector,
                                  AccountManager accountManager,
                                  IHttpChallengeResponseStore httpChallengeResponseStore)
 {
     _logger                     = logger;
     _options                    = options.Value;
     _certificateSelector        = certificateSelector;
     _accountManager             = accountManager;
     _httpChallengeResponseStore = httpChallengeResponseStore;
 }
Пример #8
0
        public CertificateFactory(IOptions <LetsEncryptOptions> options,
                                  IHttpChallengeResponseStore challengeStore,
                                  ILogger logger,
                                  IHostEnvironment env)
        {
            _options        = options;
            _challengeStore = challengeStore;
            _logger         = logger;
            var acmeUrl = _options.Value.GetAcmeServer(env);

            _client = new AcmeClient(acmeUrl);
        }
Пример #9
0
 public CertificateFactory(
     IOptions <LetsEncryptOptions> options,
     IHttpChallengeResponseStore challengeStore,
     ILogger logger,
     IHostEnvironment env)
 {
     _options        = options;
     _challengeStore = challengeStore;
     _logger         = logger;
     AcmeServer      = GetAcmeServer(_options.Value, env);
     _context        = new AcmeContext(AcmeServer);
 }
Пример #10
0
 public AcmeCertificateLoader(
     CertificateSelector selector,
     IHttpChallengeResponseStore challengeStore,
     ICertificateStore certificateStore,
     IOptions <LetsEncryptOptions> options,
     ILogger <AcmeCertificateLoader> logger)
 {
     _selector         = selector;
     _challengeStore   = challengeStore;
     _certificateStore = certificateStore;
     _options          = options;
     _logger           = logger;
 }
Пример #11
0
 public CertificateFactory(
     TermsOfServiceChecker tosChecker,
     IOptions <LetsEncryptOptions> options,
     IHttpChallengeResponseStore challengeStore,
     IAccountStore?accountRepository,
     ILogger logger,
     IHostEnvironment env)
 {
     _tosChecker        = tosChecker;
     _options           = options;
     _challengeStore    = challengeStore;
     _logger            = logger;
     _accountRepository = accountRepository ?? new FileSystemAccountStore(logger, options, env);
     AcmeServer         = _options.Value.GetAcmeServer(env);
 }
Пример #12
0
 public AcmeChallengeRequester(
     LetsEncryptOptions options,
     IEnumerable <ILogger> loggers,
     IApplicationLifetime application,
     IHttpChallengeResponseStore responseStore,
     ICertificateSaver certificateSaver,
     ErrorReporter errorReporter)
 {
     _options          = options;
     _logger           = loggers.FirstOrDefault();
     _application      = application;
     _responseStore    = responseStore;
     _certificateSaver = certificateSaver;
     _errorReporter    = errorReporter;
 }
Пример #13
0
 public AcmeCertificateLoader(
     CertificateSelector selector,
     IHttpChallengeResponseStore challengeStore,
     ICertificateStore certificateStore,
     IOptions <LetsEncryptOptions> options,
     ILogger <AcmeCertificateLoader> logger,
     IHostEnvironment hostEnvironment,
     IServer server,
     IConfiguration config)
 {
     _selector         = selector;
     _challengeStore   = challengeStore;
     _certificateStore = certificateStore;
     _options          = options;
     _logger           = logger;
     _hostEnvironment  = hostEnvironment;
     _server           = server;
     _config           = config;
 }
        public async Task InvokeAsync(HttpContext context, IHttpChallengeResponseStore responseStore, IEnumerable <ILogger> loggers)
        {
            var    logger = loggers.FirstOrDefault();
            string token  = context.GetRouteValue("acmeToken") as string;

            logger?.LogDebug("ACME http challenge request with token {token} received.", token);
            if (!responseStore.TryGetResponse(token, out string response))
            {
                logger?.LogWarning("Transmitted ACME http challenge token invalid. Token received: {token}", token);
                await context.Response.WriteAsync("ACME challenge token invalid");

                return;
            }

            logger?.LogInformation("Transmitted ACME http challenge token valid.");
            context.Response.ContentLength = response.Length;
            context.Response.ContentType   = "application/octet-stream";
            await context.Response.WriteAsync(response);
        }
Пример #15
0
 public AcmeCertificateLoader(
     CertificateSelector selector,
     IHttpChallengeResponseStore challengeStore,
     IPregeneratedCertificateSource certificateStore,
     IOptions <LetsEncryptOptions> options,
     ILogger <AcmeCertificateLoader> logger,
     IHostEnvironment hostEnvironment,
     IServer server,
     IConfiguration config,
     IEnumerable <ICertificateRepository> certificateRepos,
     IFallbackCertificateRepository fallbackCertRepo)
 {
     _selector         = selector;
     _challengeStore   = challengeStore;
     _certificateStore = certificateStore;
     _options          = options;
     _logger           = logger;
     _hostEnvironment  = hostEnvironment;
     _server           = server;
     _config           = config;
     _certificateRepos = certificateRepos;
     _fallbackCertRepo = fallbackCertRepo;
 }
Пример #16
0
 public Http01DomainValidator(IHttpChallengeResponseStore challengeStore,
                              IHostApplicationLifetime appLifetime,
                              AcmeClient client, ILogger logger, string domainName) : base(appLifetime, client, logger, domainName)
 {
     _challengeStore = challengeStore;
 }