예제 #1
0
파일: IIS.cs 프로젝트: niusnet/win-acme
        private void AddToIIS(CertificateInfo certificate)
        {
            var  host = certificate.HostNames.First();
            Site site;

            if (_tempSiteId == null)
            {
                site             = _iisClient.ServerManager.Sites.Add(host, "http", string.Format("*:80:{0}", host), "X:\\");
                _tempSiteId      = site.Id;
                _tempSiteCreated = true;
            }
            else
            {
                site = _iisClient.ServerManager.Sites.Where(x => x.Id == _tempSiteId).FirstOrDefault();
            }

            SSLFlags flags = SSLFlags.SNI;

            if (certificate.Store == null)
            {
                flags |= SSLFlags.CentralSSL;
            }
            _iisClient.AddOrUpdateBindings(site, host, flags, certificate.Certificate.GetCertHash(), certificate.Store?.Name, 443);
            _iisClient.Commit();
        }
예제 #2
0
        private void AddToIIS(CertificateInfo certificate)
        {
            var  host = certificate.HostNames.First();
            Site site;

            if (_tempSiteId == null || _tempSiteId == 0)
            {
                site             = _iisClient.ServerManager.Sites.Add(host, "http", $"*:80:{host}", "X:\\");
                _tempSiteId      = site.Id;
                _tempSiteCreated = true;
            }
            else
            {
                site = _iisClient.WebSites.Where(x => x.Id == _tempSiteId).FirstOrDefault();
                if (site == null)
                {
                    _log.Error("Unable to find IIS SiteId {Id} which is required for validation", _tempSiteId);
                    return;
                }
            }

            var flags = SSLFlags.SNI;

            if (certificate.Store == null)
            {
                flags |= SSLFlags.CentralSSL;
            }
            _iisClient.AddOrUpdateBindings(new Binding[] { }, site, host, flags, certificate.Certificate.GetCertHash(), certificate.Store?.Name, 443, "*", false);
            _iisClient.Commit();
        }
        private void AddToIIS(string host, byte[] certificateHash, X509Store store)
        {
            Site site;

            if (_tempSiteId == null)
            {
                site        = _iisClient.ServerManager.Sites.Add(host, "http", string.Format("*:80:{0}", host), "X:\\");
                _tempSiteId = site.Id;
            }
            else
            {
                site = _iisClient.ServerManager.Sites.Where(x => x.Id == _tempSiteId).FirstOrDefault();
            }

            SSLFlags flags = SSLFlags.SNI;

            if (Program.OptionsService.Options.CentralSsl)
            {
                flags |= SSLFlags.CentralSSL;
            }
            _iisClient.AddOrUpdateBindings(site, host, flags, certificateHash, store?.Name);
            _iisClient.Commit();
        }