Exemple #1
0
        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));
        }
Exemple #3
0
        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;
 }