private static RenewalParameters GetRenewalParameters(CliOptions parsed, AzureEnvironmentParams webAppEnvironmentParams, AzureEnvironmentParams azureDnsEnvironmentParams, GoDaddyEnvironmentParams goDaddyEnvironmentParams) { return(new RenewalParameters( webAppEnvironmentParams, parsed.WebApp, parsed.Hosts, parsed.Email, parsed.FromEmail, parsed.ServicePlanResourceGroup, null, parsed.SiteSlotName, azureDnsEnvironmentParams, parsed.AzureDnsZoneName, parsed.AzureDnsRelativeRecordSetName, goDaddyEnvironmentParams, parsed.UseIpBasedSsl, parsed.RsaKeyLength, parsed.AcmeBaseUri, parsed.WebRootPath, parsed.RenewXNumberOfDaysBeforeExpiration, parsed.AzureAuthenticationEndpoint, parsed.AzureTokenAudience, parsed.AzureManagementEndpoint, parsed.AzureDefaultWebsiteDomainName)); }
private SharedRenewalParameters GetSharedParams() { AzureEnvironmentParams sharedWebAppEnvironment; try { sharedWebAppEnvironment = new AzureEnvironmentParams( GetCommonSetting(Constants.TenantIdKey), GetCommonGuidSetting(Constants.SubscriptionIdKey), GetCommonGuidSetting(Constants.ClientIdKey), GetCommonConnectionString(Constants.ClientSecretKey), GetCommonSetting(Constants.ResourceGroupKey), true); } catch (ArgumentException e) { throw new ConfigurationErrorsException("Error parsing shared Web App environment parameters", e); } AzureEnvironmentParams sharedAzureDnsEnvironment; try { sharedAzureDnsEnvironment = new AzureEnvironmentParams( GetCommonSetting(Constants.AzureDnsTenantIdKey), GetCommonGuidSetting(Constants.AzureDnsSubscriptionIdKey), GetCommonGuidSetting(Constants.AzureDnsClientIdKey), GetCommonConnectionString(Constants.AzureDnsClientSecretKey), GetCommonSetting(Constants.AzureDnsResourceGroupKey), true); } catch (ArgumentException e) { throw new ConfigurationErrorsException("Error parsing shared Azure DNS environment parameters", e); } try { return(new SharedRenewalParameters( sharedWebAppEnvironment, GetCommonSetting(Constants.EmailKey), GetCommonSetting(Constants.ServicePlanResourceGroupKey), sharedAzureDnsEnvironment, GetCommonSetting(Constants.AzureDnsZoneNameKey), GetCommonSetting(Constants.AzureDnsRelativeRecordSetNameKey), GetCommonBooleanSetting(Constants.UseIpBasedSslKey), GetCommonInt32Setting(Constants.RsaKeyLengthKey), GetCommonUriSetting(Constants.AcmeBaseUriKey), GetCommonSetting(Constants.WebRootPathKey), GetCommonInt32Setting(Constants.RenewXNumberOfDaysBeforeExpirationKey), GetCommonUriSetting(Constants.AzureAuthenticationEndpointKey), GetCommonUriSetting(Constants.AzureTokenAudienceKey), GetCommonUriSetting(Constants.AzureManagementEndpointKey), GetCommonSetting(Constants.AzureDefaultWebSiteDomainNameKey))); } catch (ArgumentException e) { throw new ConfigurationErrorsException("Error parsing shared renewal parameters", e); } }
private RenewalParameters GetWebAppRenewalInfo(string webApp, SharedRenewalParameters sharedRenewalParams) { Trace.TraceInformation("Parsing SSL renewal parameters for web app '{0}'...", webApp); ParseWebAppToken(webApp, out var webAppName, out var siteSlotName, out var groupName); AzureEnvironmentParams webAppEnvironment; try { webAppEnvironment = new AzureEnvironmentParams( ResolveSetting(Constants.TenantIdKey, webApp, sharedRenewalParams.WebAppEnvironment.TenantId), ResolveGuidSetting(Constants.SubscriptionIdKey, webApp, sharedRenewalParams.WebAppEnvironment.SubscriptionId), ResolveGuidSetting(Constants.ClientIdKey, webApp, sharedRenewalParams.WebAppEnvironment.ClientId), ResolveConnectionString(Constants.ClientSecretKey, webApp, sharedRenewalParams.WebAppEnvironment.ClientSecret), ResolveSetting(Constants.ResourceGroupKey, webApp, sharedRenewalParams.WebAppEnvironment.ResourceGroup)); } catch (ArgumentException e) { throw new ConfigurationErrorsException("Error parsing Web App environment parameters for web app: " + webApp, e); } AzureEnvironmentParams azureDnsEnvironment; GoDaddyEnvironmentParams goDaddyDnsEnvironment = null; try { azureDnsEnvironment = new AzureEnvironmentParams( ResolveOptionalSetting(Constants.AzureDnsTenantIdKey, webApp, sharedRenewalParams.AzureDnsEnvironment.TenantId ?? webAppEnvironment.TenantId), ResolveGuidSetting(Constants.AzureDnsSubscriptionIdKey, webApp, sharedRenewalParams.AzureDnsEnvironment.SubscriptionId ?? webAppEnvironment.SubscriptionId), ResolveGuidSetting(Constants.AzureDnsClientIdKey, webApp, sharedRenewalParams.AzureDnsEnvironment.ClientId ?? webAppEnvironment.ClientId), ResolveConnectionString(Constants.AzureDnsClientSecretKey, webApp, sharedRenewalParams.AzureDnsEnvironment.ClientSecret ?? webAppEnvironment.ClientSecret), ResolveSetting(Constants.AzureDnsResourceGroupKey, webApp, sharedRenewalParams.AzureDnsEnvironment.ResourceGroup ?? webAppEnvironment.ResourceGroup)); var goDaddyDnsApiKey = ResolveOptionalSetting(Constants.GoDaddyDnsApiKey, webApp); var goDaddyDnsApiSecret = ResolveOptionalSetting(Constants.GoDaddyDnsApiSecret, webApp); var goDaddyDnsDomain = ResolveOptionalSetting(Constants.GoDaddyDnsDomain, webApp); var goDaddyDnsShopperId = ResolveOptionalSetting(Constants.GoDaddyDnsShopperId, webApp); if (!string.IsNullOrEmpty(goDaddyDnsApiKey) && !string.IsNullOrEmpty(goDaddyDnsApiSecret) && !string.IsNullOrEmpty(goDaddyDnsDomain) && !string.IsNullOrEmpty(goDaddyDnsShopperId)) { goDaddyDnsEnvironment = new GoDaddyEnvironmentParams( goDaddyDnsApiKey, goDaddyDnsApiSecret, goDaddyDnsDomain, goDaddyDnsShopperId); } } catch (ArgumentException e) { throw new ConfigurationErrorsException("Error parsing Azure or GoDaddy DNS environment parameters for web app: " + webApp, e); } try { return(new RenewalParameters( webAppEnvironment, webAppName, m_appSettings.GetDelimitedList(BuildConfigKey(Constants.HostsKey, webApp)), ResolveSetting(Constants.EmailKey, webApp, sharedRenewalParams.Email), ResolveSetting(Constants.FromEmailKey, webApp, sharedRenewalParams.FromEmail), ResolveOptionalSetting(Constants.ServicePlanResourceGroupKey, webApp, sharedRenewalParams.ServicePlanResourceGroup), groupName, siteSlotName, azureDnsEnvironment, ResolveOptionalSetting(Constants.AzureDnsZoneNameKey, webApp, sharedRenewalParams.AzureDnsZoneName), ResolveOptionalSetting(Constants.AzureDnsRelativeRecordSetNameKey, webApp, sharedRenewalParams.AzureDnsRelativeRecordSetName), goDaddyDnsEnvironment, ResolveOptionalBooleanSetting(Constants.UseIpBasedSslKey, webApp, sharedRenewalParams.UseIpBasedSsl, false), ResolveOptionalInt32Setting(Constants.RsaKeyLengthKey, webApp, sharedRenewalParams.RsaKeyLength, 2048), ResolveOptionalUriSetting(Constants.AcmeBaseUriKey, webApp, sharedRenewalParams.AcmeBaseUri), ResolveOptionalSetting(Constants.WebRootPathKey, webApp, sharedRenewalParams.WebRootPath), ResolveOptionalInt32Setting(Constants.RenewXNumberOfDaysBeforeExpirationKey, webApp, sharedRenewalParams.RenewXNumberOfDaysBeforeExpiration, -1), ResolveOptionalUriSetting(Constants.AzureAuthenticationEndpointKey, webApp, sharedRenewalParams.AuthenticationUri), ResolveOptionalUriSetting(Constants.AzureTokenAudienceKey, webApp, sharedRenewalParams.AzureTokenAudience), ResolveOptionalUriSetting(Constants.AzureManagementEndpointKey, webApp, sharedRenewalParams.AzureManagementEndpoint), ResolveOptionalSetting(Constants.AzureDefaultWebSiteDomainNameKey, webApp, sharedRenewalParams.AzureDefaultWebsiteDomainName))); } catch (ArgumentException e) { throw new ConfigurationErrorsException("Error parsing SSL renewal parameters for web app: " + webApp, e); } }