public CertifyManager() { var serverConfig = SharedUtils.ServiceConfigManager.GetAppServiceConfig(); SettingsManager.LoadAppSettings(); InitLogging(serverConfig); Util.SetSupportedTLSVersions(); _itemManager = new ItemManager(); _serverProvider = (ICertifiedServer) new ServerProviderIIS(); _progressResults = new ObservableCollection <RequestProgressState>(); _pluginManager = new PluginManager(); _pluginManager.LoadPlugins(new List <string> { "Licensing", "DashboardClient", "DeploymentTasks" }); // TODO: convert providers to plugins, allow for async init var userAgent = Util.GetUserAgent(); var certes = new CertesACMEProvider(Management.Util.GetAppDataFolder() + "\\certes", userAgent); certes.InitProvider(_serviceLog).Wait(); _acmeClientProvider = certes; _vaultProvider = certes; // init remaining utilities and optionally enable telematics _challengeDiagnostics = new ChallengeDiagnostics(CoreAppSettings.Current.EnableValidationProxyAPI); if (CoreAppSettings.Current.EnableAppTelematics) { _tc = new Util().InitTelemetry(); } _httpChallengePort = serverConfig.HttpChallengeServerPort; _httpChallengeServerClient.Timeout = new TimeSpan(0, 0, 5); if (_tc != null) { _tc.TrackEvent("ServiceStarted"); } _serviceLog?.Information("Certify Manager Started"); PerformUpgrades().Wait(); }
public CertifyManager() { _serviceLog = new Loggy( new LoggerConfiguration() .MinimumLevel.Verbose() .WriteTo.Debug() .WriteTo.File(Util.GetAppDataFolder("logs") + "\\sessionlog.txt", shared: true, flushToDiskInterval: new TimeSpan(0, 0, 10)) .CreateLogger() ); Util.SetSupportedTLSVersions(); _itemManager = new ItemManager(); _serverProvider = (ICertifiedServer) new ServerProviderIIS(); _progressResults = new ObservableCollection <RequestProgressState>(); _pluginManager = new PluginManager(); _pluginManager.LoadPlugins(); // TODO: convert providers to plugins var certes = new Certify.Providers.Certes.CertesACMEProvider(Management.Util.GetAppDataFolder() + "\\certes"); _acmeClientProvider = certes; _vaultProvider = certes; // init remaining utilities and optionally enable telematics _challengeDiagnostics = new ChallengeDiagnostics(CoreAppSettings.Current.EnableValidationProxyAPI); if (CoreAppSettings.Current.EnableAppTelematics) { _tc = new Util().InitTelemetry(); } PerformUpgrades(); var serverConfig = Util.GetAppServiceConfig(); _httpChallengePort = serverConfig.HttpChallengeServerPort; _httpChallengeServerClient.Timeout = new TimeSpan(0, 0, 5); if (_tc != null) { _tc.TrackEvent("ServiceStarted"); } }
public CertifyManager(bool useWindowsNativeFeatures = true) { _useWindowsNativeFeatures = useWindowsNativeFeatures; _serverConfig = SharedUtils.ServiceConfigManager.GetAppServiceConfig(); SettingsManager.LoadAppSettings(); InitLogging(_serverConfig); Util.SetSupportedTLSVersions(); try { _itemManager = new ItemManager(null, _serviceLog); if (!_itemManager.IsInitialised()) { _serviceLog.Error($"Item Manager failed to initialise properly. Check service logs for more information."); } } catch (Exception exp) { _serviceLog.Error($"Failed to open or upgrade the managed items database. Check service has required file access permissions. :: {exp}"); } _credentialsManager = new CredentialsManager(useWindowsNativeFeatures); _serverProvider = (ICertifiedServer) new ServerProviderIIS(_serviceLog); _progressResults = new ObservableCollection <RequestProgressState>(); _pluginManager = new PluginManager(); _pluginManager.EnableExternalPlugins = CoreAppSettings.Current.IncludeExternalPlugins; _pluginManager.LoadPlugins(new List <string> { "Licensing", "DashboardClient", "DeploymentTasks", "CertificateManagers", "DnsProviders" }); _migrationManager = new MigrationManager(_itemManager, _credentialsManager, _serverProvider); LoadCertificateAuthorities(); // init remaining utilities and optionally enable telematics _challengeDiagnostics = new ChallengeDiagnostics(CoreAppSettings.Current.EnableValidationProxyAPI); if (CoreAppSettings.Current.EnableAppTelematics) { _tc = new Util().InitTelemetry(Locales.ConfigResources.AIInstrumentationKey); } _httpChallengePort = _serverConfig.HttpChallengeServerPort; _httpChallengeServerClient.Timeout = new TimeSpan(0, 0, 20); if (_tc != null) { _tc.TrackEvent("ServiceStarted"); } _serviceLog?.Information("Certify Manager Started"); try { PerformAccountUpgrades().Wait(); } catch (Exception exp) { _serviceLog.Error($"Failed to perform ACME account upgrades. :: {exp}"); } PerformManagedCertificateMigrations().Wait(); }
public CertifyManager() { var serverConfig = SharedUtils.ServiceConfigManager.GetAppServiceConfig(); SettingsManager.LoadAppSettings(); InitLogging(serverConfig); Util.SetSupportedTLSVersions(); _itemManager = new ItemManager(); _credentialsManager = new CredentialsManager(); _serverProvider = (ICertifiedServer) new ServerProviderIIS(); _progressResults = new ObservableCollection <RequestProgressState>(); _pluginManager = new PluginManager(); _pluginManager.LoadPlugins(new List <string> { "Licensing", "DashboardClient", "DeploymentTasks", "CertificateManagers" }); // load core CAs and custom CAs foreach (var ca in CertificateAuthority.CoreCertificateAuthorities) { _certificateAuthorities.TryAdd(ca.Id, ca); } try { var customCAs = SettingsManager.GetCustomCertificateAuthorities(); foreach (var ca in customCAs) { _certificateAuthorities.TryAdd(ca.Id, ca); } } catch (Exception exp) { // failed to load custom CAs _serviceLog.Error(exp.Message); } // init remaining utilities and optionally enable telematics _challengeDiagnostics = new ChallengeDiagnostics(CoreAppSettings.Current.EnableValidationProxyAPI); if (CoreAppSettings.Current.EnableAppTelematics) { _tc = new Util().InitTelemetry(); } _httpChallengePort = serverConfig.HttpChallengeServerPort; _httpChallengeServerClient.Timeout = new TimeSpan(0, 0, 20); if (_tc != null) { _tc.TrackEvent("ServiceStarted"); } _serviceLog?.Information("Certify Manager Started"); PerformAccountUpgrades().Wait(); PerformManagedCertificateMigrations().Wait(); }