Esempio n. 1
0
        public void Execute()
        {
            Log.Instance.Ssl.Write("try renewing at: " + DateTime.Now.ToLongTimeString());

            var todayInt = DateTime.Now.DayOfYear;

            if (todayInt != lastCheckDay)
            {
                lastCheckDay = todayInt;

                var list = GlobalDb.SslCertificate.GetAllInUsed();

                var checkbefore = DateTime.Now.AddDays(10);

                var items = list.Where(o => o.Expiration < checkbefore).ToList();

                var logitems = items.Select(o => o.Domain).ToList();

                if (logitems != null && logitems.Any())
                {
                    Kooboo.Data.Log.Instance.Ssl.WriteObj(logitems);
                }

                foreach (var item in items)
                {
                    SslService.SetSsl(item.Domain, item.OrganizationId);
                }
            }
        }
Esempio n. 2
0
 public void Execute()
 {
     if (DateTime.Now.Hour == 2 || DateTime.Now.Hour == 3)
     {
         foreach (var item in Kooboo.Data.GlobalDb.SslCertificate.GetAllInUsed())
         {
             if (item.Expiration < DateTime.Now.AddDays(10))
             {
                 SslService.SetSsl(item.Domain, item.OrganizationId);
             }
         }
     }
 }
Esempio n. 3
0
        public async Task Invoke(RenderContext context)
        {
            /// http://your.domain.name/.well-known/acme-challenge/
            if (context.Request.RelativeUrl != null && context.Request.RelativeUrl.ToLower().StartsWith("/.well-known/acme-challenge"))
            {
                var host = context.Request.Host;

                string validate = context.Request.QueryString.Get("validate");

                if (string.IsNullOrWhiteSpace(validate))
                {
                    // this is for real... not for validation check.
                    string token = SslService.GetToken(host);
                    if (!string.IsNullOrWhiteSpace(token))
                    {
                        context.Response.Body        = System.Text.Encoding.UTF8.GetBytes(token);
                        context.Response.ContentType = "text/html;charset=utf-8; ";
                        context.Response.End         = true;
                    }
                }
                else
                {
                    var checkok = SslService.Verify(host, validate);

                    if (checkok)
                    {
                        context.Response.Body        = System.Text.Encoding.UTF8.GetBytes("[OK]");
                        context.Response.ContentType = "text/html;charset=utf-8; ";
                        context.Response.End         = true;
                    }
                    else
                    {
                        context.Response.Body        = System.Text.Encoding.UTF8.GetBytes("[error]");
                        context.Response.StatusCode  = 403;
                        context.Response.ContentType = "text/html;charset=utf-8; ";
                        context.Response.End         = true;
                    }
                }
            }
            else
            {
                await Next.Invoke(context);
            }
        }
Esempio n. 4
0
        public static void EnsureServerHostDomain()
        {
            if (!Data.AppSettings.IsOnlineServer)
            {
                return;
            }

            var setting = Kooboo.Data.AppSettings.ServerSetting;

            if (setting != null && setting.MyIP != "127.0.0.1" && setting.ServerId > 0)
            {
                if (!string.IsNullOrWhiteSpace(setting.HostDomain))
                {
                    var domain = setting.ServerId + "." + setting.HostDomain;
                    Console.WriteLine("generating domain:" + domain);

                    SslService.SetSsl(domain, default(Guid));
                }
            }
        }
Esempio n. 5
0
        public void Execute()
        {
            var now = DateTime.Now;

            var todayInt = now.DayOfYear;

            if (todayInt != lastCheckDay)
            {
                if (now.Hour == 2 || now.Hour == 3 || now.Hour == 4 || now.Hour == 5 || now.Hour == 6)
                {
                    foreach (var item in Kooboo.Data.GlobalDb.SslCertificate.GetAllInUsed())
                    {
                        if (item.Expiration < DateTime.Now.AddDays(10))
                        {
                            SslService.SetSsl(item.Domain, item.OrganizationId);
                        }
                    }

                    lastCheckDay = todayInt;
                }
            }
        }