public void ConfigureCertificateStoreProvider() { ICertificateOptions options = Environment.Host.ApplicationBuilder.ApplicationServices.GetRequiredService <ICertificateOptions>(); ICertificateStoreProvider storeProvider = Environment.Host.ApplicationBuilder.ApplicationServices.GetRequiredService <ICertificateStoreProvider>(); IWebServerVersion versionProvider = Environment.Host.ApplicationBuilder.ApplicationServices.GetService <IWebServerVersion>(); const string webHosting = "WebHosting"; const string my = "My"; // // My if (!storeProvider.Stores.Any(s => s.Name.Equals(my, System.StringComparison.OrdinalIgnoreCase)) && WindowsCertificateStore.Exists(my)) { storeProvider.AddStore(new WindowsCertificateStore(my, new string[] { "read" })); } if (versionProvider?.Version != null && versionProvider.Version >= new System.Version(8, 0)) { // // WebHosting Certificate Store was not introduced until IIS 8.0 if (!storeProvider.Stores.Any(s => s.Name.Equals(webHosting, System.StringComparison.OrdinalIgnoreCase)) && WindowsCertificateStore.Exists(webHosting)) { storeProvider.AddStore(new WindowsCertificateStore(webHosting, new string[] { "read" })); } } }
public static object ToJsonModel(IWebServerVersion versionProvider) { Version version = versionProvider.Version; var obj = new { name = "Microsoft Internet Information Services", id = WebServerId.Create().Uuid, supports_sni = version != null && version >= new Version(8, 0), status = Enum.GetName(typeof(Status), GetStatus()).ToLower(), version = GetVersion() }; return(Core.Environment.Hal.Apply(Defines.Resource.Guid, obj)); }
public override void Start() { IWebServerVersion versionProvider = Environment.Host.ApplicationBuilder.ApplicationServices.GetService <IWebServerVersion>(); if (versionProvider?.Version == null || versionProvider.Version < new System.Version(8, 0)) { // // IIS Centralized Certificate Store was not introduced until IIS 8.0 // Prevent provision of CCS functionality return; } ConfigureCentralCerts(); ConfigureStoreProvider(); }
public WebServerInfoController(IWebServerVersion versionProvider) { _versionProvider = versionProvider; }