public void CreateProblemKey() { string userAgent = Util.GetUserAgent(); var certes = new Certify.Providers.Certes.CertesACMEProvider(Util.GetAppDataFolder() + "\\certes", userAgent); bool keyFound = false; newKey = null; int attempts = 0; while (!keyFound) { var generator = GeneratorUtilities.GetKeyPairGenerator("ECDSA"); var generatorParams = new ECKeyGenerationParameters( CustomNamedCurves.GetOid("P-256"), new SecureRandom() ); generator.Init(generatorParams); var keyPair = generator.GenerateKeyPair(); var publicKey = (ECPublicKeyParameters)keyPair.Public; var xBytes = publicKey.Q.AffineXCoord.ToBigInteger().ToByteArrayUnsigned(); var yBytes = publicKey.Q.AffineYCoord.ToBigInteger().ToByteArrayUnsigned(); if (xBytes.Length != yBytes.Length) { System.Diagnostics.Debug.WriteLine($"Problem key found in {attempts} attempts"); keyFound = true; string pem = ""; using (var sr = new StringWriter()) { var pemWriter = new PemWriter(sr); pemWriter.WriteObject(keyPair); pem = sr.ToString(); } System.Diagnostics.Debug.WriteLine($"{pem}"); newKey = KeyFactory.FromPem(pem); } attempts++; } //certes.InitProvider().Wait(); }
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(); // TODO: convert providers to plugins, allow for async init var userAgent = Util.GetUserAgent(); var certes = new Certify.Providers.Certes.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"); } }